mysql 如何获取 表头信息

mysql 如何获取 表头信息,第1张

在mysql里有个系统库叫information_schema

里面有所有系统对象;

其中 columns表里存储着所有字段信息

select column_name from columns where table_schema=your_database_name and table_name=your_table_name

可能需要ddk,否则有些结构可能没有,可以回帖我补上

#include <stdioh>

#include <conioh>

#include <tcharh>

#include <RegStrh>

#include <winioctlh>

#include <ntddndish>

//结构定义

typedef struct _UNICODE_STRING

{

USHORT Length;

USHORT MaximumLength;

PWSTR Buffer;

} UNICODE_STRING,PUNICODE_STRING;

typedef struct _OBJECT_ATTRIBUTES

{

ULONG Length; // 长度 18h

HANDLE RootDirectory; // 00000000

PUNICODE_STRING ObjectName; // 指向对象名的指针

ULONG Attributes; // 对象属性00000040h

PVOID SecurityDescriptor;

PVOID SecurityQualityOfService;

} OBJECT_ATTRIBUTES;

typedef OBJECT_ATTRIBUTES POBJECT_ATTRIBUTES;

typedef DWORD (__stdcall ZWOS )( PHANDLE,ACCESS_MASK,POBJECT_ATTRIBUTES);

typedef DWORD (__stdcall ZWMV )( HANDLE,HANDLE,PVOID,ULONG,ULONG,PLARGE_INTEGER,PSIZE_T,DWORD,ULONG,ULONG);

typedef DWORD (__stdcall ZWUMV )( HANDLE,PVOID);

/====================================================================

函数 : FindAwardBios

功能 : 获取Award 系列的Bios序列号

输入 : TSystemInfo& tSystemInfo [OUT]

输出 : TSystemInfo

返回 : FALSE 表示获取失败

======================================================================/

UINT FindAwardBios( BYTE ppBiosAddr )

{

BYTE pBiosAddr = ppBiosAddr + 0xEC71;

BYTE szBiosData[128];

::CopyMemory( szBiosData, pBiosAddr, 127 );

szBiosData[127] = 0;

int iLen = lstrlen( ( char )szBiosData );

if( iLen > 0 && iLen < 128 )

{

//AWard: 07/08/2002-i845G-ITE8712-JF69VD0CC-00

//Phoenix-Award: 03/12/2002-sis645-p4s333

if( szBiosData[2] == '/' && szBiosData[5] == '/' )

{

BYTE p = szBiosData;

while( p )

{

if( p < ' ' || p >= 127 )

{

break;

}

++ p;

}

if( p == 0 )

{

ppBiosAddr = pBiosAddr;

return ( UINT )iLen;

}

}

}

return 0;

}

/====================================================================

函数 : FindAmiBios

功能 : 获取Ami 系列的Bios序列号

输入 : TSystemInfo& tSystemInfo [OUT]

输出 : TSystemInfo

返回 : FALSE 表示获取失败

======================================================================/

UINT FindAmiBios( BYTE ppBiosAddr )

{

BYTE pBiosAddr = ppBiosAddr + 0xF478;

BYTE szBiosData[128];

::CopyMemory( szBiosData, pBiosAddr, 127 );

szBiosData[127] = 0;

int iLen = lstrlen( ( char )szBiosData );

if( iLen > 0 && iLen < 128 )

{

// Example: "AMI: 51-2300-000000-00101111-030199-"

if( szBiosData[2] == '-' && szBiosData[7] == '-' )

{

BYTE p = szBiosData;

while( p )

{

if( p < ' ' || p >= 127 )

{

break;

}

++ p;

}

if( p == 0 )

{

ppBiosAddr = pBiosAddr;

return ( UINT )iLen;

}

}

}

return 0;

}

/====================================================================

函数 : FindPhoenixBios

功能 : 获取Phoenix 系列的Bios序列号

输入 : TSystemInfo& tSystemInfo [OUT]

输出 : TSystemInfo

返回 : FALSE 表示获取失败

======================================================================/

UINT FindPhoenixBios( BYTE ppBiosAddr )

{

UINT uOffset[3] = { 0x6577, 0x7196, 0x7550 };

for( UINT i = 0; i < 3; ++ i )

{

BYTE pBiosAddr = ppBiosAddr + uOffset[i];

BYTE szBiosData[128];

::CopyMemory( szBiosData, pBiosAddr, 127 );

szBiosData[127] = 0;

int iLen = lstrlen( ( char )szBiosData );

if( iLen > 0 && iLen < 128 )

{

// Example: Phoenix "NITELT086B0044P119910111055"

if ( szBiosData[7] == '' && szBiosData[11] == '' )

{

BYTE p = szBiosData;

while( p )

{

if( p < ' ' || p >= 127 )

{

break;

}

++ p;

}

if( p == 0 )

{

ppBiosAddr = pBiosAddr;

return ( UINT )iLen;

}

}

}

}

return 0;

}

/====================================================================

函数 : GetBiosSerialNum

功能 : 获取Bios序列号

输入 : TSystemInfo& tSystemInfo [OUT]

输出 : TSystemInfo

返回 : FALSE 表示获取失败

======================================================================/

BOOL GetBiosSerialNum(TSystemInfo& tSystemInfo)

{

SIZE_T ssize;

LARGE_INTEGER so;

soLowPart=0x000f0000;

soHighPart=0x00000000;

ssize=0xffff;

wchar_t strPH[30]= L"\\device\\physicalmemory";

DWORD ba=0;

UNICODE_STRING struniph;

struniphBuffer=strPH;

struniphLength=0x2c;

struniphMaximumLength =0x2e;

OBJECT_ATTRIBUTES obj_ar;

obj_arAttributes =64;

obj_arLength =24;

obj_arObjectName=&struniph;

obj_arRootDirectory=0;

obj_arSecurityDescriptor=0;

obj_arSecurityQualityOfService =0;

HMODULE hinstLib = LoadLibrary("ntdlldll");

ZWOS ZWopenS=(ZWOS)GetProcAddress(hinstLib,"ZwOpenSection");

ZWMV ZWmapV=(ZWMV)GetProcAddress(hinstLib,"ZwMapViewOfSection");

ZWUMV ZWunmapV=(ZWUMV)GetProcAddress(hinstLib,"ZwUnmapViewOfSection");

//调用函数,对物理内存进行映射

HANDLE hSection;

if( 0 == ZWopenS(&hSection,4,&obj_ar) &&

0 == ZWmapV(

( HANDLE )hSection, //打开Section时得到的句柄

( HANDLE )0xFFFFFFFF, //将要映射进程的句柄,

&ba, //映射的基址

0,

0xFFFF, //分配的大小

&so, //物理内存的地址

&ssize, //指向读取内存块大小的指针

1, //子进程的可继承性设定

0, //分配类型

2 //保护类型

)

)

//执行后会在当前进程的空间开辟一段64k的空间,并把f000:0000到f000:ffff处的内容映射到这里

//映射的基址由ba返回,如果映射不再有用,应该用ZwUnmapViewOfSection断开映射

{

BYTE pBiosSerial = ( BYTE )ba;

UINT uBiosSerialLen = FindAwardBios( &pBiosSerial );

if( uBiosSerialLen == 0U )

{

uBiosSerialLen = FindAmiBios( &pBiosSerial );

if( uBiosSerialLen == 0U )

{

uBiosSerialLen = FindPhoenixBios( &pBiosSerial );

}

}

if( uBiosSerialLen != 0U )

{

tSystemInfoAppend((u8)"BIOS=", 5);

::CopyMemory( tSystemInfoszInfo+5, pBiosSerial, uBiosSerialLen );

tSystemInfodwRealSize = uBiosSerialLen+5;

}

else

{

printf("BIOS: not support!\n");

return FALSE;

}

ZWunmapV( ( HANDLE )0xFFFFFFFF, ( void )ba );

printf("BIOS: %s\n", (s8)tSystemInfoszInfo);

return TRUE;

}

printf("BIOS: not supported!\n");

return FALSE;

}

您好,菲尼克斯手电电芯是由日本三洋电机公司生产的。三洋电机公司是一家全球知名的电子产品制造商,成立于1955年,总部位于日本大阪市。该公司的产品包括电池、电子元件、半导体器件、家用电器、通信设备、汽车电子产品等。其中,三洋电池作为公司的核心产品之一,在国际市场上享有很高的声誉。菲尼克斯手电作为一款高品质手电,其电芯选用了三洋电机公司生产的电池,确保了手电的稳定性和可靠性,受到了广大用户的信赖和好评。

使用方法:代码数量较多,可以用CTRL+F快速搜索你要查找的内容。

代码格式:请参照下面的物品ID >>例:giveitemnum 2 1 1 false 给普通突击步q 1个(2是物品ID,参考下方数字使用。第一个数字1是物品数量,第二个1 false是道具品质)。

代码如下:

1 、Simple Pistol简易手q

2 、Assault Rifle 突击步q

3 、Rocket Launcher火箭发射器

4 、Simple Bullet简单子d

5 、Bow弓

6 、Genadesld

7 Wood木材

8 Stone石头

9 、Metal金属

10 、Hide兽皮

11 、Chitin甲壳

12 Raw Meat生肉

13 、Spoiled Meat变质肉

14 、Cooked Meat熟肉

15 、Water Jar水瓶

16 、Water Jar (Full) 水瓶(满)

17 、Cloth Pants布裤

18 、Cloth Shirt布衬衫

19、 Cloth Hat布帽

20 、Cloth Boots布靴

21、 Cloth Gloves布手套

22、 Hide pants皮裤

23、 Hide Shirt皮衬衫

24、 Hide Hat皮帽

25、 Hide Boots皮靴

26、 Hide Gloves皮手套

27、 Chitin Leggings甲壳护腿

28、 Chitin Chestpiece甲壳胸甲

29、 Chitin Helmet甲壳头盔

30、 Chitin Boots甲壳靴

31、 Chitin Gauntlets甲壳护手

32、 Stone Arrow石箭

33、 Stone Pick石镐

34、 Stone Hatchet石斧

35 、Metal Pick铁镐

36 、Metal Hatchet铁斧

37、 Torch火把

38、 Paintbrush漆刷

39、 Campfire篝火

40 、Standing Torch立式火把

41、 Hide Sleeping Bag睡袋

42 、Remote Detonator遥控雷管

43、 C4 ChargeC4控制器

44、 Blood Extraction Syringe采血器

45 、Blood Pack血包

46、 Improvised Explosive Device简易爆炸装置

47、 Waterskin水袋

48 、Waterskin(Full) 水袋(满)

49、 Berrybush Seeds浆果种子

50 、Fertilizer肥料

:高级狙击q子d:

Giveitem"Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItemAmmo_AdvancedSniperBulletPrimalItemAmmo_AdvancedSniperBullet" 50。

以上就是关于mysql 如何获取 表头信息全部的内容,包括:mysql 如何获取 表头信息、如何用VC++读取BIOS的版本号等信息。奖励100分、菲尼克斯手电电芯是谁家的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9558882.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存