ID3D12InfoQueue::GetMessage 方法 (d3d12sdklayers.h)
從訊息佇列取得訊息。
語法
HRESULT GetMessage(
[in] UINT64 MessageIndex,
[out, optional] D3D12_MESSAGE *pMessage,
[in, out] SIZE_T *pMessageByteLength
);
參數
[in] MessageIndex
類型: UINT64
套用選擇性擷取篩選準則之後,將索引編制至訊息佇列。 這可以是介於 0 到訊息佇列中通過擷取篩選準則的訊息數目, (可使用 GetNumStoredMessagesAllowedByRetrievalFilter) 取得。 0 是訊息佇列前端的訊息。
[out, optional] pMessage
類型: D3D12_MESSAGE*
傳回的訊息。
[in, out] pMessageByteLength
類型: SIZE_T*
以位元組為單位的 pMessage 大小。
傳回值
類型: HRESULT
這個方法會傳回其中一個 Direct3D 12 傳回碼。
備註
這個方法不會從訊息佇列中移除任何訊息。
此方法會在套用選擇性擷取篩選準則之後,從訊息佇列取得訊息。
應用程式應該呼叫這個方法兩次來擷取訊息 - 首先取得訊息的大小,第二個取得訊息。 以下是典型的範例:
// Get the size of the message
SIZE_T messageLength = 0;
HRESULT hr = pInfoQueue->GetMessage(0, NULL, &messageLength);
// Allocate space and get the message
D3D12_MESSAGE * pMessage = (D3D12_MESSAGE*)malloc(messageLength);
hr = pInfoQueue->GetMessage(0, pMessage, &messageLength);
需求
目標平台 | Windows |
標頭 | d3d12sdklayers.h |