上面己经回答得很好了.CoCreateGuid Creates a GUID, a unique 128-bit integer used for CLSIDs and interface identifiers.HRESULT CoCreateGuid( GUID *pguid //Pointer to the GUID on return );
Parameter pguid [out] Pointer to the requested GUID on return. Return Value S_OK The GUID was successfully created. Win32 errors are returned byUuidCreate but wrapped as an HRESULT.Res The CoCreateGuid function calls the RPC function UuidCreate, which creates a GUID, a globally unique 128-bit integer. Use the CoCreateGuid function when you need an absolutely unique number that you will use as a persistent identifier in a distributed environment.To a very high degree of certainty, this function returns a unique value – no other invocation, on the same or any other system (networked or not), should return the same value.QuickInfo Windows NT: Use version 3.1 or later. Windows: Use Windows 95 or later. Windows CE: Unsupported. Header: Declared in objbase.h. Import Library: Included as a resource in ole32.dll.
Creates a GUID, a unique 128-bit integer used for CLSIDs and interface identifiers.HRESULT CoCreateGuid(
GUID *pguid //Pointer to the GUID on return
);
Parameter
pguid
[out] Pointer to the requested GUID on return.
Return Value
S_OK
The GUID was successfully created.
Win32 errors are returned byUuidCreate but wrapped as an HRESULT.Res
The CoCreateGuid function calls the RPC function UuidCreate, which creates a GUID, a globally unique 128-bit integer. Use the CoCreateGuid function when you need an absolutely unique number that you will use as a persistent identifier in a distributed environment.To a very high degree of certainty, this function returns a unique value – no other invocation, on the same or any other system (networked or not), should return the same value.QuickInfo
Windows NT: Use version 3.1 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in objbase.h.
Import Library: Included as a resource in ole32.dll.
CoCreateGuid(&guid); char strData1[9];
char strData2[5];
char strData3[5];
char strData4[8][3]; sprintf(strData1,"%08X",guid.Data1);
sprintf(strData2,"%04X",guid.Data2);
sprintf(strData3,"%04X",guid.Data3);
sprintf(strData4[0],"%02X",guid.Data4[0]);
sprintf(strData4[1],"%02X",guid.Data4[1]);
sprintf(strData4[2],"%02X",guid.Data4[2]);
sprintf(strData4[3],"%02X",guid.Data4[3]);
sprintf(strData4[4],"%02X",guid.Data4[4]);
sprintf(strData4[5],"%02X",guid.Data4[5]);
sprintf(strData4[6],"%02X",guid.Data4[6]);
sprintf(strData4[7],"%02X",guid.Data4[7]); m_strID.Format("{%s-%s-%s-%s%s-%s%s%s%s%s%s}",strData1,strData2,strData3,
strData4[0],strData4[1],strData4[2],strData4[3],strData4[4],strData4[5],strData4[6],strData4[7]);
#include "rpcdce.h"
GUID guid;
if(S_OK!=CoCreateGuid(&guid)) //4+2+2+8 = 16个字节
{
return;
}
else
{
BYTE * buf = new BYTE;
UuidToString((UUID*)&guid, &buf);
m_Edit = buf;
UpdateData(FALSE);
}