次の方法で共有


ID3D10InfoQueue::GetMessage メソッド (d3d10sdklayers.h)

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

構文

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

パラメーター

[in] MessageIndex

種類: UINT64

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

[out] pMessage

種類: D3D10_MESSAGE*

返されたメッセージ ( 「D3D10_MESSAGE」を参照)。

[in, out] pMessageByteLength

種類: SIZE_T*

pMessage のサイズ (pMessage が指すメッセージ文字列のサイズを含むバイト単位)。

戻り値

型: HRESULT

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

注釈

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

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

アプリケーションでは、このメソッドを 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
D3D10_MESSAGE * pMessage = (D3D10_MESSAGE*)malloc(messageLength);
hr = pInfoQueue->GetMessage(0, pMessage, &messageLength);

概要については、「 情報キューの概要」を参照してください。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d10sdklayers.h

こちらもご覧ください

ID3D10InfoQueue インターフェイス