比较 C 语言中的两个 GUID



我正在使用Visual Studio 2010中的C程序。我需要创建GUID,然后进行比较。

我在节目中加入了"#include-guidedf.h"。

以下是代码片段,但我在编译代码时不断出错。

//mainGUID is assign value in the program
GUID mainGUID;
//Function call which compares passed GUID with the mainGUID
int CheckGUID(GUID guid)
{
  if(IsEqualGUID(guid,mainGUID))
   return 1;
  else
   return 0;
}

我得到以下错误

Error   3   error C2172: 'memcmp' : actual parameter is not a pointer : parameter 1
Error   3   error C2172: 'memcmp' : actual parameter is not a pointer : parameter 2

不确定发生了什么。

函数IsEqualGUID采用REFGUID参数:

BOOL IsEqualGUID(
  _In_  REFGUID rguid1,
  _In_  REFGUID rguid2
);

而一个CCD_ 3就是CCD_。所以你可能会逃脱:

IsEqualGUID(&guid, &mainGUID)
            ^      ^

注意:我对IsEqualGUID没有任何经验,这都来自MSDN(错误消息也指向这个,是的)。

最新更新