16bool WinShutdownMonitor::nativeEventFilter(
const QByteArray &eventType, 
void *pMessage, 
long *pnResult)
 
   20       MSG *pMsg = 
static_cast<MSG *
>(pMessage);
 
   24           case WM_QUERYENDSESSION:
 
   43void WinShutdownMonitor::registerShutdownBlockReason(
const QString& strReason, 
const HWND& mainWinId)
 
   45    typedef BOOL (WINAPI *PSHUTDOWNBRCREATE)(HWND, LPCWSTR);
 
   46    PSHUTDOWNBRCREATE shutdownBRCreate = (PSHUTDOWNBRCREATE)GetProcAddress(GetModuleHandleA(
"User32.dll"), 
"ShutdownBlockReasonCreate");
 
   47    if (shutdownBRCreate == 
nullptr) {
 
   48        qWarning() << 
"registerShutdownBlockReason: GetProcAddress for ShutdownBlockReasonCreate failed";
 
   52    if (shutdownBRCreate(mainWinId, strReason.toStdWString().c_str()))
 
   53        qInfo() << 
"registerShutdownBlockReason: Successfully registered: " + strReason;
 
   55        qWarning() << 
"registerShutdownBlockReason: Failed to register: " + strReason;
 
void StartShutdown()
Request shutdown of the application.