Share via


ShutdownBlockReasonQuery 함수(winuser.h)

ShutdownBlockReasonCreate 함수에서 설정한 이유 문자열을 검색합니다.

구문

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

매개 변수

[in] hWnd

애플리케이션의 기본 창에 대한 핸들입니다.

[out, optional] pwszBuff

이유 문자열을 수신하는 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL이면 함수는 이유 문자열의 문자 수를 검색합니다.

[in, out] pcchBuff

pwszBuff 버퍼의 크기를 문자 단위로 지정하는 변수에 대한 포인터입니다. 함수가 성공하면 이 변수는 null 종료 문자를 포함하여 버퍼에 복사된 문자 수를 받습니다. 버퍼가 너무 작으면 변수는 null 종료 문자를 포함하지 않고 필요한 버퍼 크기를 문자 단위로 받습니다.

반환 값

호출이 성공하면 반환 값은 0이 아닌 값입니다.

호출이 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 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
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

ShutdownBlockReasonCreate

종료