主要函数原型:
HRESULT CoCreateGuid(
GUID* pguid
);
Parameters
pguid
[out] Pointer to the requested GUID on return.
Return Values
S_OK
The GUID was successfully created.
其中,GUID的结构如下:
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[ 8 ];
} GUID;
编写代码时要包含头文件:#include "objbase.h"
实例代码:
#include "stdafx.h"
#include "objbase.h"
long NewGUID(char* szGUID)
{
GUID guid;
if (S_OK == ::CoCreateGuid(&guid))
{
sprintf(szGUID,
"%08X%04X%04x%02X%02X%02X%02X%02X%02X%02X%02X"
, guid.Data1
, guid.Data2
, guid.Data3
, guid.Data4[0], guid.Data4[1]
, guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5]
, guid.Data4[6], guid.Data4[7]);
return 1;
}
else
{
//gl_log.LogMessage("获取GUID失败");
return 0;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char szGUID[MAX_PATH] = {0};
NewGUID(szGUID);
printf("%s\n",szGUID);
return 0;
}
结果:
C135E8AE23A9437d95F41F9B318ED48D
请按任意键继续. . .