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 |