Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Windows中,UuidFromString和CLSIDFromString之间有区别吗?_C++_Windows_Guid_Uuid_Clsid - Fatal编程技术网

C++ 在Windows中,UuidFromString和CLSIDFromString之间有区别吗?

C++ 在Windows中,UuidFromString和CLSIDFromString之间有区别吗?,c++,windows,guid,uuid,clsid,C++,Windows,Guid,Uuid,Clsid,我只想再次检查,对于与COM类无关的内部生成的GUI,使用哪一个是正确的 我怀疑这是UuidFromString,但我一直看到使用CLSIDFromString的代码。我模糊地记得CLSIDFromString可能会枚举注册表中列出的COM类,但是我不确定这是否正确。我会使用UuidFromString-关于CLSIDFromString的文档明确指出,它的目的是将StringFromCLSID生成的字符串转换回CLSID 即使这两个函数的行为是相同的(并且我怀疑它可能不是)——例如,代码> C

我只想再次检查,对于与COM类无关的内部生成的GUI,使用哪一个是正确的


我怀疑这是UuidFromString,但我一直看到使用CLSIDFromString的代码。我模糊地记得CLSIDFromString可能会枚举注册表中列出的COM类,但是我不确定这是否正确。

我会使用
UuidFromString
-关于
CLSIDFromString
的文档明确指出,它的目的是将
StringFromCLSID
生成的字符串转换回
CLSID


即使这两个函数的行为是相同的(并且我怀疑它可能不是)——例如,<>代码> CLSIDROFSCONSHIG/<代码>可以返回<代码> ReqBujeE.CaseNoTung < /代码>,指示类未注册或<代码> ReqBujeE.Read ReDbb>代码>,表示注册表I/O错误)区分

CLSID
和您自己的内部
GUID
对象是一种很好的做法。

我会使用
UuidFromString
CLSIDFromString
的文档明确指出,它的目的是将
StringFromCLSID
生成的字符串转换回
CLSID

即使这两个函数的行为是相同的(并且我怀疑它可能不是)——例如,<>代码> CLSIDROFSCONSHIG/<代码>可以返回<代码> ReqBujeE.CaseNoTung < /代码>,指示类未注册或<代码> ReqBujeE.Read ReDbb>代码>,表示注册表I/O错误)区分

CLSID
和您自己的内部
GUID
对象是一种很好的做法。

Raymond Chen:

Uuid-From-String

让我们从Uuid-From-String开始。它采用基本形式的字符串 没有花括号。作为特例,如果传递NULL而不是 如果字符串指针有效,函数仍会成功并设置结果 要设置GUID\u空值

CLSID-From-String

稍微复杂一点的是CLSID-From-String。除了 接受大括号括起的字符串(被视为GUID),则 也接受ProgId。在ProgId情况下,它返回CLSID 与该ProgId关联

陈雷蒙:

Uuid-From-String

让我们从Uuid-From-String开始。它采用基本形式的字符串 没有花括号。作为特例,如果传递NULL而不是 如果字符串指针有效,函数仍会成功并设置结果 要设置GUID\u空值

CLSID-From-String

稍微复杂一点的是CLSID-From-String。除了 接受大括号括起的字符串(被视为GUID),则 也接受ProgId。在ProgId情况下,它返回CLSID 与该ProgId关联


谢谢@Nik。在办公室进一步讨论之后,我们现在怀疑CLSIDFromString需要返回REGDB_E_CLASSNOTREG的原因是它可能接受OLE类名以及字符串参数中的GUID。无论如何,使用UuidFromString几乎肯定更安全。谢谢@Nik。在办公室进一步讨论之后,我们现在怀疑CLSIDFromString需要返回REGDB_E_CLASSNOTREG的原因是它可能接受OLE类名以及字符串参数中的GUID。无论如何,使用UuidFromString几乎肯定更安全。