ID3D12InfoQueue::GetMessage メソッド (d3d12sdklayers.h)

メッセージ キューからメッセージを取得します。

構文

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

パラメーター

[in] MessageIndex

型: UINT64

オプションの取得フィルターが適用された後、メッセージ キューにインデックスを作成します。 0 から取得フィルターを通過するメッセージ キュー内のメッセージの数 ( GetNumStoredMessagesAllowedByRetrievalFilter で取得できます) の間で指定できます。 0 は、メッセージ キューの先頭にあるメッセージです。

[out, optional] pMessage

種類: D3D12_MESSAGE*

返されたメッセージ。

[in, out] pMessageByteLength

種類: SIZE_T*

pMessage のサイズ (バイト単位)。

戻り値

種類: HRESULT

このメソッドは、Direct3D 12リターン コードのいずれかを返します

解説

このメソッドは、メッセージ キューからメッセージを削除しません。

このメソッドは、オプションの取得フィルターが適用された後、メッセージ キューからメッセージを取得します。

アプリケーションは、このメソッドを 2 回呼び出してメッセージを取得する必要があります。1 つ目はメッセージのサイズを取得し、2 つ目はメッセージを取得します。 一般的な例を次に示します。

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

// Allocate space and get the message
D3D12_MESSAGE * pMessage = (D3D12_MESSAGE*)malloc(messageLength);
hr = pInfoQueue->GetMessage(0, pMessage, &messageLength); 

要件

   
対象プラットフォーム Windows
ヘッダー d3d12sdklayers.h

関連項目

ID3D12InfoQueue