Método IDXGIInfoQueue::GetMessage (dxgidebug.h)
Obtiene un mensaje de la cola de mensajes.
Sintaxis
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
Valor de DXGI_DEBUG_ID que identifica la entidad que obtiene el mensaje.
[in] MessageIndex
Índice en la cola de mensajes después de aplicar un filtro de recuperación opcional. Esto puede estar comprendido entre 0 y el número de mensajes de la cola de mensajes que pasan por el filtro de recuperación. Llame a IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters para obtener este número. 0 es el mensaje al principio de la cola de mensajes.
[out, optional] pMessage
Puntero a una estructura de DXGI_INFO_QUEUE_MESSAGE que describe el mensaje.
[in, out] pMessageByteLength
Puntero a una variable que recibe el tamaño, en bytes, de la descripción del mensaje a la que apunta pMessage . Este tamaño incluye el tamaño de la estructura de DXGI_INFO_QUEUE_MESSAGE en bytes.
Valor devuelto
Devuelve S_OK si se ejecuta correctamente; de lo contrario, un código de error. Para obtener una lista de códigos de error, consulte DXGI_ERROR.
Comentarios
Este método no quita ningún mensaje de la cola de mensajes.
Este método obtiene un mensaje de la cola de mensajes después de aplicar un filtro de recuperación opcional.
Llame a este método dos veces para recuperar un mensaje, primero para obtener el tamaño del mensaje y el segundo para obtener el mensaje. Este es un ejemplo 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 | Value |
---|---|
Cliente mínimo compatible | Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | dxgidebug.h |
Archivo DLL | DXGIDebug.dll |