Método IDXGIInfoQueue::GetMessage (dxgidebug.h)
Obtém uma mensagem da fila de mensagens.
Sintaxe
HRESULT GetMessage(
[in] DXGI_DEBUG_ID Producer,
[in] UINT64 MessageIndex,
[out, optional] DXGI_INFO_QUEUE_MESSAGE *pMessage,
[in, out] SIZE_T *pMessageByteLength
);
Parâmetros
[in] Producer
Um valor DXGI_DEBUG_ID que identifica a entidade que obtém a mensagem.
[in] MessageIndex
Um índice na fila de mensagens após a aplicação de um filtro de recuperação opcional. Isso pode ser entre 0 e o número de mensagens na fila de mensagens que passam pelo filtro de recuperação. Chame IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters para obter esse número. 0 é a mensagem no início da fila de mensagens.
[out, optional] pMessage
Um ponteiro para uma estrutura DXGI_INFO_QUEUE_MESSAGE que descreve a mensagem.
[in, out] pMessageByteLength
Um ponteiro para uma variável que recebe o tamanho, em bytes, da descrição da mensagem para a qual pMessage aponta. Esse tamanho inclui o tamanho da estrutura DXGI_INFO_QUEUE_MESSAGE em bytes.
Retornar valor
Retorna S_OK se tiver êxito; caso contrário, um código de erro. Para obter uma lista de códigos de erro, consulte DXGI_ERROR.
Comentários
Esse método não remove nenhuma mensagem da fila de mensagens.
Esse método obtém uma mensagem da fila de mensagens depois que um filtro de recuperação opcional é aplicado.
Chame 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(DXGI_DEBUG_ALL, 0, NULL, &messageLength);
if(hr == S_FALSE){
// Allocate space and get the message.
DXGI_INFO_QUEUE_MESSAGE * pMessage = (DXGI_INFO_QUEUE_MESSAGE*)malloc(messageLength);
hr = pInfoQueue->GetMessage(DXGI_DEBUG_ALL, 0, pMessage, &messageLength);
// Do something with the message and free it
if(hr == S_OK){
// ...
// ...
// ...
free(pMessage);
}
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | dxgidebug.h |
DLL | DXGIDebug.dll |