次の方法で共有


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

こちらもご覧ください

ID3D11InfoQueue インターフェイス