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


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

Общие сведения см. в разделе Information Queue Overview.

Требования

Требование Значение
Целевая платформа Windows
Header d3d11sdklayers.h
Библиотека D3D11.lib

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

Интерфейс ID3D11InfoQueue