Bagikan melalui


IDXGIInfoQueue::Metode GetMessage (dxgidebug.h)

Mendapatkan pesan dari antrean pesan.

Sintaks

HRESULT GetMessage(
  [in]            DXGI_DEBUG_ID           Producer,
  [in]            UINT64                  MessageIndex,
  [out, optional] DXGI_INFO_QUEUE_MESSAGE *pMessage,
  [in, out]       SIZE_T                  *pMessageByteLength
);

Parameter

[in] Producer

Nilai DXGI_DEBUG_ID yang mengidentifikasi entitas yang mendapatkan pesan.

[in] MessageIndex

Indeks ke dalam antrean pesan setelah filter pengambilan opsional diterapkan. Ini bisa antara 0 dan jumlah pesan dalam antrean pesan yang melewati filter pengambilan. Panggil IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters untuk mendapatkan nomor ini. 0 adalah pesan di awal antrean pesan.

[out, optional] pMessage

Penunjuk ke struktur DXGI_INFO_QUEUE_MESSAGE yang menjelaskan pesan.

[in, out] pMessageByteLength

Penunjuk ke variabel yang menerima ukuran, dalam byte, dari deskripsi pesan yang dirujuk pMessage . Ukuran ini mencakup ukuran struktur DXGI_INFO_QUEUE_MESSAGE dalam byte.

Nilai kembali

Mengembalikan S_OK jika berhasil; kode kesalahan sebaliknya. Untuk daftar kode kesalahan, lihat DXGI_ERROR.

Keterangan

Metode ini tidak menghapus pesan apa pun dari antrean pesan.

Metode ini mendapatkan pesan dari antrean pesan setelah filter pengambilan opsional diterapkan.

Panggil metode ini dua kali untuk mengambil pesan, pertama untuk mendapatkan ukuran pesan dan kedua untuk mendapatkan pesan. Berikut adalah contoh umumnya:


// Get the size of the message.
SIZE_T messageLength = 0;
HRESULT hr = pInfoQueue->GetMessage(DXGI_DEBUG_ALL, 0, NULL, &messageLength);
if(hr == S_FALSE){

    // Allocate space and get the message.
    DXGI_INFO_QUEUE_MESSAGE * pMessage = (DXGI_INFO_QUEUE_MESSAGE*)malloc(messageLength);
    hr = pInfoQueue->GetMessage(DXGI_DEBUG_ALL, 0, pMessage, &messageLength);
    
    // Do something with the message and free it
    if(hr == S_OK){
    
        // ...
        // ...
        // ...
        free(pMessage);
    }
}
Catatan API ini memerlukan Kit Pengembangan Perangkat Lunak (SDK) Windows untuk Windows 8.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header dxgidebug.h
DLL DXGIDebug.dll

Lihat juga

IDXGIInfoQueue