Bagikan melalui


Fungsi ShutdownBlockReasonQuery (winuser.h)

Mengambil string alasan yang ditetapkan oleh fungsi ShutdownBlockReasonCreate .

Sintaks

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

Parameter

[in] hWnd

Handel ke jendela utama aplikasi.

[out, optional] pwszBuff

Penunjuk ke buffer yang menerima string alasan. Jika parameter ini NULL, fungsi mengambil jumlah karakter dalam string alasan.

[in, out] pcchBuff

Penunjuk ke variabel yang menentukan ukuran buffer pwszBuff , dalam karakter. Jika fungsi berhasil, variabel ini menerima jumlah karakter yang disalin ke dalam buffer, termasuk karakter null-terminating. Jika buffer terlalu kecil, variabel menerima ukuran buffer yang diperlukan, dalam karakter, tidak termasuk karakter null-terminating.

Nilai kembali

Jika panggilan berhasil, nilai yang dikembalikan bukan nol.

Jika panggilan gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi ini hanya dapat dipanggil dari utas yang membuat jendela yang ditentukan oleh parameter hWnd . Jika tidak, fungsi gagal dan kode kesalahan terakhir adalah ERROR_ACCESS_DENIED.

Contoh

Contoh berikut mengambil ukuran buffer yang diperlukan, mengalokasikan memori untuk string alasan, mengambil string alasan, dan menampilkan string sebagai output 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;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winuser.h (sertakan Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga

ShutdownBlockReasonCreate

Mematikan