Fonction ShutdownBlockReasonQuery (winuser.h)
Récupère la chaîne de raison définie par la fonction ShutdownBlockReasonCreate .
Syntaxe
BOOL ShutdownBlockReasonQuery(
[in] HWND hWnd,
[out, optional] LPWSTR pwszBuff,
[in, out] DWORD *pcchBuff
);
Paramètres
[in] hWnd
Handle de la fenêtre main de l’application.
[out, optional] pwszBuff
Pointeur vers une mémoire tampon qui reçoit la chaîne de motif. Si ce paramètre a la valeur NULL, la fonction récupère le nombre de caractères dans la chaîne de motif.
[in, out] pcchBuff
Pointeur vers une variable qui spécifie la taille de la mémoire tampon pwszBuff , en caractères. Si la fonction réussit, cette variable reçoit le nombre de caractères copiés dans la mémoire tampon, y compris le caractère de fin null. Si la mémoire tampon est trop petite, la variable reçoit la taille de mémoire tampon requise, en caractères, sans compter le caractère de fin null.
Valeur retournée
Si l’appel réussit, la valeur de retour est différente de zéro.
Si l’appel échoue, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Cette fonction ne peut être appelée qu’à partir du thread qui a créé la fenêtre spécifiée par le paramètre hWnd . Sinon, la fonction échoue et le dernier code d’erreur est ERROR_ACCESS_DENIED.
Exemples
L’exemple suivant récupère la taille de mémoire tampon requise, alloue de la mémoire pour la chaîne de raison, récupère la chaîne de raison et affiche la chaîne en tant que sortie de débogage.
#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;
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winuser.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |