Поделиться через


Метод 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

См. также раздел

ID3D12InfoQueue