如何在WinRT中用C ++创建新的GUID?

时间:2012-09-10 15:23:29

标签: c++ windows-runtime

C ++ WinRT中C#方法Guid.NewGuid()的等价物是什么?

3 个答案:

答案 0 :(得分:6)

答案 1 :(得分:4)

如果您正在编写Windows应用商店应用程序(也称为Metro风格),则必须使用CoCreateGuid,因为UuidCreate仅适用于桌面应用程序。

来自MSDN:

CoCreateGuid:

  

适用于:桌面应用程序| Windows应用商店应用
  创建一个唯一的GUID   用于CLSID和接口标识符的128位整数。

HRESULT CoCreateGuid(  _Out_  GUID *pguid );

<强> UuidCreate:

  

适用于:仅限桌面应用

答案 2 :(得分:2)

我知道关于Windows 8的插孔,但如果您仍然可以访问常规的Win32 / 64 API,则可以使用许多机制。来自rpcrt4库的UuidCreate()是一个,来自oleaut lib的CoCreateGuid()是另一个(它只是转发给前者)。后者最终将结果直接丢弃在GUID结构中。