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


Метод ID3D10InfoQueue::GetMessage (d3d10sdklayers.h)

Получение сообщения из очереди сообщений.

Синтаксис

HRESULT GetMessage(
  [in]      UINT64        MessageIndex,
  [out]     D3D10_MESSAGE *pMessage,
  [in, out] SIZE_T        *pMessageByteLength
);

Параметры

[in] MessageIndex

Тип: UINT64

Индекс в очередь сообщений после применения необязательного фильтра извлечения. Это может быть от 0 до количества сообщений в очереди сообщений, которые проходят через фильтр извлечения (который можно получить с помощью ID3D10InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter). 0 — это сообщение в начале очереди сообщений.

[out] pMessage

Тип: D3D10_MESSAGE*

Возвращенное сообщение (см . D3D10_MESSAGE).

[in, out] pMessageByteLength

Тип: SIZE_T*

Размер pMessage в байтах, включая размер строки сообщения, на которую указывает pMessage.

Возвращаемое значение

Тип: HRESULT

Этот метод возвращает один из следующих кодов возврата Direct3D 10.

Комментарии

Этот метод не удаляет сообщения из очереди сообщений.

Этот метод получает сообщения из очереди сообщений после применения необязательного фильтра извлечения.

Приложения должны вызывать этот метод дважды для получения сообщения: сначала для получения размера сообщения, а во-вторых, для получения сообщения. Ниже приведен типичный пример:


// Get the size of the message
SIZE_T messageLength = 0;
HRESULT hr = pInfoQueue->GetMessage(0, NULL, &messageLength);

// Allocate space and get the message
D3D10_MESSAGE * pMessage = (D3D10_MESSAGE*)malloc(messageLength);
hr = pInfoQueue->GetMessage(0, pMessage, &messageLength);

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

Требования

Требование Значение
Целевая платформа Windows
Header d3d10sdklayers.h

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

Интерфейс ID3D10InfoQueue