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 |