Partager via


ID3D12InfoQueue::GetMessage, méthode (d3d12sdklayers.h)

Obtenez un message à partir de la file d’attente de messages.

Syntaxe

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

Paramètres

[in] MessageIndex

Type : UINT64

Index dans la file d’attente des messages après l’application d’un filtre de récupération facultatif. Cela peut être compris entre 0 et le nombre de messages dans la file d’attente des messages qui passent par le filtre de récupération (qui peut être obtenu avec GetNumStoredMessagesAllowedByRetrievalFilter). 0 est le message à l’avant de la file d’attente des messages.

[out, optional] pMessage

Type : D3D12_MESSAGE*

Message retourné.

[in, out] pMessageByteLength

Type : SIZE_T*

Taille de pMessage en octets.

Valeur retournée

Type : HRESULT

Cette méthode retourne l’un des codes de retour Direct3D 12.

Notes

Cette méthode ne supprime aucun message de la file d’attente des messages.

Cette méthode obtient les messages de la file d’attente des messages après l’application d’un filtre de récupération facultatif.

Les applications doivent appeler cette méthode deux fois pour récupérer un message : d’abord pour obtenir la taille du message et ensuite pour obtenir le message. Voici un exemple classique :

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

Spécifications

   
Plateforme cible Windows
En-tête d3d12sdklayers.h

Voir aussi

ID3D12InfoQueue