ID3D12InfoQueue::GetMessage-Methode (d3d12sdklayers.h)

Rufen Sie eine Nachricht aus der Nachrichtenwarteschlange ab.

Syntax

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

Parameter

[in] MessageIndex

Typ: UINT64

Indexieren Sie die Nachrichtenwarteschlange, nachdem ein optionaler Abruffilter angewendet wurde. Dies kann zwischen 0 und der Anzahl der Nachrichten in der Nachrichtenwarteschlange sein, die den Abruffilter durchlaufen (die mit GetNumStoredMessagesAllowedByRetrievalFilter abgerufen werden können). 0 ist die Nachricht am Anfang der Nachrichtenwarteschlange.

[out, optional] pMessage

Typ: D3D12_MESSAGE*

Zurückgegebene Nachricht.

[in, out] pMessageByteLength

Typ: SIZE_T*

Größe von pMessage in Bytes.

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen der Direct3D 12-Rückgabecodes zurück.

Hinweise

Diese Methode entfernt keine Nachrichten aus der Nachrichtenwarteschlange.

Diese Methode ruft Nachrichten aus der Nachrichtenwarteschlange ab, nachdem ein optionaler Abruffilter angewendet wurde.

Anwendungen sollten diese Methode zweimal aufrufen, um eine Nachricht abzurufen – erstens, um die Größe der Nachricht abzurufen, und zweitens, um die Nachricht abzurufen. Hier sehen Sie ein typisches Beispiel:

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

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d12sdklayers.h

Weitere Informationen

ID3D12InfoQueue