ID3D11InfoQueue::GetMessage メソッド (d3d11sdklayers.h)
メッセージ キューからメッセージを取得します。
構文
HRESULT GetMessage(
[in] UINT64 MessageIndex,
[out, optional] D3D11_MESSAGE *pMessage,
[in, out] SIZE_T *pMessageByteLength
);
パラメーター
[in] MessageIndex
種類: UINT64
オプションの取得フィルターが適用された後、メッセージ キューにインデックスを作成します。 これは、0 から取得フィルターを通過するメッセージ キュー内のメッセージの数 ( ID3D11InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter を使用して取得できます) の間で指定できます。 0 は、メッセージ キューの先頭にあるメッセージです。
[out, optional] pMessage
種類: D3D11_MESSAGE*
返されたメッセージ ( 「D3D11_MESSAGE」を参照)。
[in, out] pMessageByteLength
種類: SIZE_T*
pMessage のサイズ (pMessage が指すメッセージ文字列のサイズを含むバイト単位)。
戻り値
型: HRESULT
このメソッドは、次のいずれかの Direct3D 11 リターン コードを返します。
注釈
このメソッドは、メッセージ キューからメッセージを削除しません。
このメソッドは、オプションの取得フィルターが適用された後、メッセージ キューからメッセージを取得します。
アプリケーションでは、このメソッドを 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
D3D11_MESSAGE * pMessage = (D3D11_MESSAGE*)malloc(messageLength);
hr = pInfoQueue->GetMessage(0, pMessage, &messageLength);
概要については、「 情報キューの概要」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11sdklayers.h |
Library | D3D11.lib |