Compartilhar via


Método ID3D12InfoQueue::GetMessage (d3d12sdklayers.h)

Obtenha uma mensagem da fila de mensagens.

Sintaxe

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

Parâmetros

[in] MessageIndex

Tipo: UINT64

Indexe na fila de mensagens depois que um filtro de recuperação opcional tiver sido aplicado. Isso pode estar entre 0 e o número de mensagens na fila de mensagens que passam pelo filtro de recuperação (que pode ser obtido com GetNumStoredMessagesAllowedByRetrievalFilter). 0 é a mensagem na frente da fila de mensagens.

[out, optional] pMessage

Tipo: D3D12_MESSAGE*

Mensagem retornada.

[in, out] pMessageByteLength

Tipo: SIZE_T*

Tamanho de pMessage em bytes.

Valor retornado

Tipo: HRESULT

Esse método retorna um dos códigos de retorno do Direct3D 12.

Comentários

Esse método não remove nenhuma mensagem da fila de mensagens.

Esse método obtém mensagens da fila de mensagens depois que um filtro de recuperação opcional é aplicado.

Os aplicativos devem chamar esse método duas vezes para recuperar uma mensagem – primeiro para obter o tamanho da mensagem e o segundo para obter a mensagem. Aqui está um exemplo típico:

 
// 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); 

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3d12sdklayers.h

Confira também

ID3D12InfoQueue