GUID vc6

场景:vc6 自动生成32位guid 并写下数据库

vc6 自动生成32位guid 并写入数据库
我想自动生成一个32位的guid 并写入到数据库中
m_pRecordset->PutCollect("guid",_variant_t(szTemp));
请问怎么写啊

------解决方案--------------------
C/C++ code
const char* newGUID()
{
    static char buf[64] = {0};
     GUID guid;
     CoInitialize(NULL);
    if (S_OK == ::CoCreateGuid(&guid))
    {
         _snprintf(buf, sizeof(buf),
            "{%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]);
    }
     CoUninitialize();
    return (const char*)buf;
}

------解决方案--------------------
探讨
const char* newGUID()
{
static char buf[64] = {0};
GUID guid;
CoInitialize(NULL);
if (S_OK == ::CoCreateGuid(&guid))
{
_snprintf(buf, sizeof(buf),
"{%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]);
}
CoUninitialize();
return (const char*)buf;
}