有两个 API 可以实现保存 GUID 到 VARIANT
InitVariantFromGUIDAsBuffer 以字节数组形式保存,保存类型为 VT_ARRAY | VT_UI1,相当于字节拷贝,理论上效率更高;
InitVariantFromGUIDAsString 以字符串形式保存,保存类型为 VT_BSTR,字符串为“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”形式,相当于调用了一次 StringFromGUID2 方法在保存到 VARIANT;
以上两种方式都可以通过调用 VariantToGUID 方法还原为原始的 GUID 结构。
一系列操作 Variant 的 API:
PROPVARIANT and VARIANT Functions https://msdn.microsoft.com/en-us/library/windows/desktop/bb762286(v=vs.85).aspx