Метод 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 |
Header | d3d12sdklayers.h |