WM_POWERBROADCASTを処理したいATLアプリがあります。MSG_MAPでハンドラーを定義したCMainDlg(CAxDialogImpl)があります。
BEGIN_MSG_MAP(CMainDlg)
...
MESSAGE_HANDLER(WM_POWERBROADCAST, OnPowerChange)
...
END_MSG_MAP()
ただし、電源設定を変更したり、マシンをスリープ状態にしたりするなど、ハンドラーを呼び出す必要がある処理を実行しても、ハンドラーは呼び出されません。
何が起こっているのか、そしてこれを修正する方法について何かアイデアはありますか?何らかの理由で、CMainDlgは電源イベントの通知を受け取りませんか?