Condividi tramite


Funzione ShutdownBlockReasonQuery (winuser.h)

Recupera la stringa motivo impostata dalla funzione ShutdownBlockReasonCreate .

Sintassi

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

Parametri

[in] hWnd

Handle alla finestra principale dell'applicazione.

[out, optional] pwszBuff

Puntatore a un buffer che riceve la stringa motivo. Se questo parametro è NULL, la funzione recupera il numero di caratteri nella stringa motivo.

[in, out] pcchBuff

Puntatore a una variabile che specifica le dimensioni del buffer pwszBuff , in caratteri. Se la funzione ha esito positivo, questa variabile riceve il numero di caratteri copiati nel buffer, incluso il carattere null-terminazione. Se il buffer è troppo piccolo, la variabile riceve le dimensioni del buffer necessarie, in caratteri, non incluso il carattere null-terminazione.

Valore restituito

Se la chiamata ha esito positivo, il valore restituito è diverso da zero.

Se la chiamata ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Questa funzione può essere chiamata solo dal thread che ha creato la finestra specificata dal parametro hWnd . In caso contrario, la funzione ha esito negativo e l'ultimo codice di errore è ERROR_ACCESS_DENIED.

Esempio

Nell'esempio seguente vengono recuperate le dimensioni del buffer necessarie, alloca la memoria per la stringa motivo, recupera la stringa motivo e viene visualizzata la stringa come output di debug.

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

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

ShutdownBlockReasonCreate

Arresto