Función ShutdownBlockReasonQuery (winuser.h)
Recupera la cadena de motivo establecida por la función ShutdownBlockReasonCreate .
Sintaxis
BOOL ShutdownBlockReasonQuery(
[in] HWND hWnd,
[out, optional] LPWSTR pwszBuff,
[in, out] DWORD *pcchBuff
);
Parámetros
[in] hWnd
Identificador de la ventana principal de la aplicación.
[out, optional] pwszBuff
Puntero a un búfer que recibe la cadena de motivo. Si este parámetro es NULL, la función recupera el número de caracteres de la cadena de motivo.
[in, out] pcchBuff
Puntero a una variable que especifica el tamaño del búfer pwszBuff , en caracteres. Si la función se ejecuta correctamente, esta variable recibe el número de caracteres copiados en el búfer, incluido el carácter de terminación null. Si el búfer es demasiado pequeño, la variable recibe el tamaño de búfer necesario, en caracteres, no incluido el carácter de terminación null.
Valor devuelto
Si la llamada se realiza correctamente, el valor devuelto es distinto de cero.
Si se produce un error en la llamada, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Esta función solo se puede llamar desde el subproceso que creó la ventana especificada por el parámetro hWnd . De lo contrario, se produce un error en la función y se ERROR_ACCESS_DENIED el último código de error.
Ejemplos
En el ejemplo siguiente se recupera el tamaño de búfer necesario, se asigna memoria para la cadena de motivo, se recupera la cadena de motivo y se muestra la cadena como salida de depuración.
#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 | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluya Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |