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 |
Library | D3D11.lib |