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 |