2
我註冊我的應用程序以在系統暫停或恢復時接收通知。 MSDN documentationPowerRegisterSuspendResumeNotification - 提供的回調函數不能按預期工作
功能我想要執行的應用程序接收通知後(I嘗試都空隙和空隙CALLBACK和兩個工作相同的方式):
void isConnectedStandby()
{
printf("ConnectedStandby Request");
}
第一殼體 - I到isConnectedStandby功能提供指針,但是系統把它當作一個指向函數的雙指針 - 它調用這個回調指針下的地址。
HPOWERNOTIFY RegistrationHandle;
PowerRegisterSuspendResumeNotification(
DEVICE_NOTIFY_CALLBACK,
&isConnectedStandby,
&RegistrationHandle
);
第二種情況 - 在這裏我提供如下(此方法是執行我的功能代碼):
typedef void (*StatusFunction_t)();
StatusFunction_t StatusFunction = isConnectedStandby;
HPOWERNOTIFY RegistrationHandle;
PowerRegisterSuspendResumeNotification(
DEVICE_NOTIFY_CALLBACK,
&isConnectedStandby,
&RegistrationHandle
);
系統不是隻調用我的功能,但第一個畢竟地址(如果我提供一組函數,當沒有有效的代碼時,它會一個接一個地執行崩潰)
什麼是使用此函數的正確方法?
輸入連接待機時不會調用回調。它只適用於休眠和正常待機。 – 2014-02-14 23:45:14