ID3D10InfoQueue::GetMessage
メッセージ キューからメッセージを取得します。
HRESULT
GetMessage(
UINT64 MessageIndex,
D3D10_MESSAGE *pMessage,
SIZE_T *pMessageByteLength
);
パラメータ
- MessageIndex
メッセージ キュー内のインデックスです。オプションで取得フィルターが適用される場合は、適用後のインデックスとなります。これには、0 以上、メッセージ キュー内で取得フィルターを通過したメッセージの数以下の値を指定できます (このメッセージ数は ID3D10InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter を使用して取得できます)。0 は、メッセージ キューの先頭にあるメッセージを意味します。 - pMessage
返されるメッセージです (「D3D10_MESSAGE」を参照してください)。 - pMessageByteLength
pMessage のサイズ (バイト単位) です。これには、pMessage が指し示すメッセージ文字列のサイズも含まれます。
戻り値
このメソッドは、「Direct3D 10 のリターン コード」のいずれかを返します。
解説
このメソッドを使用しても、メッセージ キューからメッセージが削除されることはありません。
このメソッドは、オプションの取得フィルターを適用した後で、メッセージ キューからメッセージを取得します。
メッセージを取得するには、アプリケーションでこのメソッドを 2 回呼び出す必要があります。最初の呼び出しでメッセージのサイズを取得し、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);
概要については、「情報キューの概要」を参照してください。
要件
ヘッダー: D3D10SDKLayers.h 宣言