ID3D10InfoQueue::GetMessage method

Get a message from the message queue.


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


MessageIndex [in]

Type: UINT64

Index into message queue after an optional retrieval filter has been applied. This can be between 0 and the number of messages in the message queue that pass through the retrieval filter (which can be obtained with ID3D10InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter). 0 is the message at the front of the message queue.

pMessage [out]

Type: D3D10_MESSAGE*

Returned message (see D3D10_MESSAGE).

pMessageByteLength [in, out]

Type: SIZE_T*

Size of pMessage in bytes, including the size of the message string that the pMessage points to.

Return value


This method returns one of the following Direct3D 10 Return Codes.


This method does not remove any messages from the message queue.

This method gets messages from the message queue after an optional retrieval filter has been applied.

Applications should call this method twice to retrieve a message - first to obtain the size of the message and second to get the message. Here is a typical example:

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

For an overview see Information Queue Overview.




See also

ID3D10InfoQueue Interface