IDXGIInfoQueue::GetMessage-Methode (dxgidebug.h)
Ruft eine Nachricht aus der Nachrichtenwarteschlange ab.
Syntax
HRESULT GetMessage(
[in] DXGI_DEBUG_ID Producer,
[in] UINT64 MessageIndex,
[out, optional] DXGI_INFO_QUEUE_MESSAGE *pMessage,
[in, out] SIZE_T *pMessageByteLength
);
Parameter
[in] Producer
Ein DXGI_DEBUG_ID Wert, der die Entität identifiziert, die die Nachricht abruft.
[in] MessageIndex
Ein Index in 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. Rufen Sie IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters auf, um diese Nummer zu erhalten. 0 ist die Nachricht am Anfang der Nachrichtenwarteschlange.
[out, optional] pMessage
Ein Zeiger auf eine DXGI_INFO_QUEUE_MESSAGE-Struktur , die die Nachricht beschreibt.
[in, out] pMessageByteLength
Ein Zeiger auf eine Variable, die die Größe der Nachrichtenbeschreibung in Bytes empfängt, auf die pMessage verweist. Diese Größe umfasst die Größe der DXGI_INFO_QUEUE_MESSAGE-Struktur in Bytes.
Rückgabewert
Gibt bei erfolgreicher Ausführung S_OK zurück. andernfalls ein Fehlercode. Eine Liste der Fehlercodes finden Sie unter DXGI_ERROR.
Hinweise
Diese Methode entfernt keine Nachrichten aus der Nachrichtenwarteschlange.
Diese Methode ruft eine Nachricht aus der Nachrichtenwarteschlange ab, nachdem ein optionaler Abruffilter angewendet wurde.
Rufen Sie diese Methode zweimal auf, um eine Nachricht abzurufen, zuerst, um die Größe der Nachricht abzurufen, und dann, um die Nachricht abzurufen. Hier ist ein typisches Beispiel:
// 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);
}
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | dxgidebug.h |
DLL | DXGIDebug.dll |