gpt4 book ai didi

winapi - 引用指南

转载 作者:行者123 更新时间:2023-12-04 13:00:49 27 4
gpt4 key购买 nike

我正在 try catch 一个事件并引用一个 GUID 以查看它是哪个事件。代码如下:

DWORD WINAPI AvisionEventProc(LPVOID lpParam){
//HANDLE hEvent = * (HANDLE *) lpParam; // This thread's read event
STINOTIFY pStiNotify;

if (debug){
wprintf(L"Avision Event\n");
}
while(true){
WaitForSingleObject(hAvisionEvent, INFINITE);
wprintf(L"Event");
pStiDevice->GetLastNotificationData(&pStiNotify);
if (pStiNotify.guidNotificationCode == GUID_STIUserDefined1){
wprintf(L"User defined 1");
}else if (pStiNotify.guidNotificationCode == GUID_STIUserDefined2){
wprintf(L"User defined 2");
}else if (pStiNotify.guidNotificationCode == GUID_STIUserDefined3){
wprintf(L"User defined 3");
}

ResetEvent(hAvisionEvent);
}
return 1;
}

这编译得很好,但链接时出现以下错误:
1>sti.obj : error LNK2001: unresolved external symbol _GUID_STIUserDefined3
1>sti.obj : error LNK2001: unresolved external symbol _GUID_STIUserDefined2
1>sti.obj : error LNK2001: unresolved external symbol _GUID_STIUserDefined1

奇怪的是,当我从中提取其他常量时, sti.h 已链接。我确实通过 GUID 声明注意到以下内容:
#if defined( _WIN32 ) && !defined( _NO_COM)

/*
* Class IID's
*/

// B323F8E0-2E68-11D0-90EA-00AA0060F86C
DEFINE_GUID(CLSID_Sti, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C);

/*
* Interface IID's
*/

// {641BD880-2DC8-11D0-90EA-00AA0060F86C}
DEFINE_GUID(IID_IStillImageW, 0x641BD880L, 0x2DC8, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C);

<snip>

/*
* Standard event GUIDs
*/

// {740D9EE6-70F1-11d1-AD10-00A02438AD48}
DEFINE_GUID(GUID_DeviceArrivedLaunch, 0x740d9ee6, 0x70f1, 0x11d1, 0xad, 0x10, 0x0, 0xa0, 0x24, 0x38, 0xad, 0x48);

<snip>

#endif

“如果已定义”行是否会停止引用 GUID(我正在编写一个 win32 控制台应用程序),或者是否有一些更基本的错误与我对 GUID 缺乏理解有关?

在此先感谢您的帮助。

干杯,

尼尔

最佳答案

#include <initguid.h>应该添加。那会有所帮助。

关于winapi - 引用指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com