Функция ShutdownBlockReasonQuery (winuser.h)

Извлекает строку причины, заданную функцией ShutdownBlockReasonCreate .

Синтаксис

BOOL ShutdownBlockReasonQuery(
  [in]            HWND   hWnd,
  [out, optional] LPWSTR pwszBuff,
  [in, out]       DWORD  *pcchBuff
);

Параметры

[in] hWnd

Дескриптор окна main приложения.

[out, optional] pwszBuff

Указатель на буфер, получающий строку причины. Если этот параметр имеет значение NULL, функция извлекает количество символов в строке причины.

[in, out] pcchBuff

Указатель на переменную, указывающую размер буфера pwszBuff в символах. Если функция выполняется успешно, эта переменная получает количество символов, скопированных в буфер, включая символ конца null. Если буфер слишком мал, переменная получает требуемый размер буфера в символах, не включая символ конца null.

Возвращаемое значение

Если вызов выполнен успешно, возвращается ненулевое значение.

Если вызов завершается сбоем, возвращаемое значение равно нулю. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Эту функцию можно вызывать только из потока, создавшего окно, указанное параметром hWnd . В противном случае функция завершается сбоем и последний код ошибки ERROR_ACCESS_DENIED.

Примеры

В следующем примере извлекается требуемый размер буфера, выделяется память для строки причины, извлекается строка причины и отображается строка в качестве выходных данных отладки.

#include <windows.h>

#pragma comment(lib, "User32.lib")

HWND hWnd;

BOOL DisplayShutdownBlockReason()
{
    DWORD cch=0;

    if (ShutdownBlockReasonQuery(hWnd, NULL, &cch)) 
    { 
        WCHAR *pch = (WCHAR *)LocalAlloc(LMEM_FIXED, cch * sizeof(*pch)); 
        if (NULL != pch) 
        { 
            if (ShutdownBlockReasonQuery(hWnd, pch, &cch)) 
            { 
                OutputDebugStringW(L"Shutdown block reason: "); 
                OutputDebugStringW(pch); 
                OutputDebugStringW(L"\n"); 
            } 
            LocalFree(pch); 
            return TRUE;
        } 
    }
    return FALSE;
}

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

ShutdownBlockReasonCreate

Завершает работу