Freigeben über


ShutdownBlockReasonQuery-Funktion (winuser.h)

Ruft die durch die ShutdownBlockReasonCreate-Funktion festgelegte Grundzeichenfolge ab.

Syntax

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

Parameter

[in] hWnd

Ein Handle für das Standard Fenster der Anwendung.

[out, optional] pwszBuff

Ein Zeiger auf einen Puffer, der die Ursachenzeichenfolge empfängt. Wenn dieser Parameter NULL ist, ruft die Funktion die Anzahl der Zeichen in der Grundzeichenfolge ab.

[in, out] pcchBuff

Ein Zeiger auf eine Variable, die die Größe des pwszBuff-Puffers in Zeichen angibt. Wenn die Funktion erfolgreich ist, empfängt diese Variable die Anzahl von Zeichen, die in den Puffer kopiert wurden, einschließlich des NULL-Endzeichens. Wenn der Puffer zu klein ist, empfängt die Variable die erforderliche Puffergröße in Zeichen, ohne das Nullabschlusszeichen.

Rückgabewert

Wenn der Aufruf erfolgreich ist, ist der Rückgabewert ungleich null.

Wenn der Aufruf fehlschlägt, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Diese Funktion kann nur über den Thread aufgerufen werden, der das durch den hWnd-Parameter angegebene Fenster erstellt hat. Andernfalls schlägt die Funktion fehl, und der letzte Fehlercode wird ERROR_ACCESS_DENIED.

Beispiele

Im folgenden Beispiel wird die erforderliche Puffergröße abgerufen, Arbeitsspeicher für die Ursachenzeichenfolge zugeordnet, die Ursachenzeichenfolge abgerufen und die Zeichenfolge als Debugausgabe angezeigt.

#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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll

Weitere Informationen

ShutdownBlockReasonCreate

Herunterfahren