Função ShutdownBlockReasonQuery (winuser.h)
Recupera a cadeia de caracteres de motivo definida pela função ShutdownBlockReasonCreate .
Sintaxe
BOOL ShutdownBlockReasonQuery(
[in] HWND hWnd,
[out, optional] LPWSTR pwszBuff,
[in, out] DWORD *pcchBuff
);
Parâmetros
[in] hWnd
Um identificador para a janela main do aplicativo.
[out, optional] pwszBuff
Um ponteiro para um buffer que recebe a cadeia de caracteres de motivo. Se esse parâmetro for NULL, a função recuperará o número de caracteres na cadeia de caracteres de motivo.
[in, out] pcchBuff
Um ponteiro para uma variável que especifica o tamanho do buffer pwszBuff , em caracteres. Se a função for bem-sucedida, essa variável receberá o número de caracteres copiados para o buffer, incluindo o caractere de terminação nula. Se o buffer for muito pequeno, a variável receberá o tamanho do buffer necessário, em caracteres, sem incluir o caractere de terminação nula.
Retornar valor
Se a chamada for bem-sucedida, o valor retornado será diferente de zero.
Se a chamada falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Essa função só pode ser chamada do thread que criou a janela especificada pelo parâmetro hWnd . Caso contrário, a função falhará e o último código de erro será ERROR_ACCESS_DENIED.
Exemplos
O exemplo a seguir recupera o tamanho do buffer necessário, aloca memória para a cadeia de caracteres de motivo, recupera a cadeia de caracteres de motivo e exibe a cadeia de caracteres como saída de depuração.
#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;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |