我正在为我的用例修改 C++ MFC 应用程序。我想使用
CreateTimerQueueTimer
API 来添加计时器。在cpp文件中,我创建了定时器队列并定义了回调函数。在头文件中,我声明了回调函数。但是,我收到以下错误,告诉我类型参数不兼容。
argument of type "void(__stdcall CPCANBasicExampleDlg::")(PVOID IpParameter, BOOLEAN TimerOrWaitFired)" is incompatible with parameter of type "WAITORTIMERCALLBACK"
PCANBasicExampleDlg.h
// PCANBasicExampleDlg dialog
class CPCANBasicExampleDlg : public CDialog
{
...
private:
...
void InitializeProtection();
void FinalizeProtection();
void CALLBACK TimerCallback(PVOID lpParameter, BOOLEAN TimerOrWaitFired);
}
PCANBasicExampleDlg.cpp
void CPCANBasicExampleDlg::InitializeControls(void)
{
...
HANDLE hTimer;
HANDLE hTimerQueue = CreateTimerQueue();
// Set up the timer to fire every 1 second
if (!CreateTimerQueueTimer(&hTimer, hTimerQueue, TimerCallback, NULL, 0, 1000, 0)) {
TRACE("CreateTimerQueueTimer failed : \r\n, ");
}
}
// Timer callback function
VOID CALLBACK CPCANBasicExampleDlg::TimerCallback(PVOID lpParameter, BOOLEAN TimerOrWaitFired) {
TRACE("Timer fired! \r\n, ");
InitializePictureControl();
}
你能告诉我问题是什么以及如何更改代码来修复错误吗?