共用方式為


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 傳回碼

備註

這個方法不會從消息佇列中移除任何訊息。

這個方法會在套用選擇性擷取篩選之後,從消息佇列取得訊息。

應用程式應該呼叫這個方法兩次以擷取訊息 -首先取得訊息的大小,第二個取得訊息。 以下是典型的範例:


// 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
程式庫 D3D11.lib

另請參閱

ID3D11InfoQueue 介面