我需要能够动态创建guid.有没有办法在MFC中这样做?我知道如何在.net中做到这一点,但我们还没有去过那里.如果没有,你有指向我可以使用的一些代码的指针吗?
//don't forget to add Rpcrt4.lib to your project CString m_ListID(L"error"); RPC_WSTR guidStr; GUID guid; HRESULT hr = CoCreateGuid(&guid); if (hr == S_OK) { if(UuidToString(&guid, &guidStr) == RPC_S_OK) { m_ListID = (LPTSTR)guidStr; RpcStringFree(&guidStr); } }
GUID guid; HRESULT hr = CoCreateGuid(&guid); // Convert the GUID to a string _TUCHAR * guidStr; UuidToString(&guid, &guidStr);
应用程序负责调用RpcStringFree
以释放为StringUuid参数中返回的字符串分配的内存.
您可以使用COM函数CoCreateGuid,例如:
GUID guid; HRESULT hr = CoCreateGuid(&guid);
使用函数UuidCreate生成GUID:
UUID generated; if (::UuidCreate(&generated) != RPC_S_OK) throw std::exception(...);