Freigeben über


ID3D11DeviceContext::GetData-Methode (d3d11.h)

Abrufen von Daten aus der Grafikverarbeitungseinheit (GPU) asynchron.

Syntax

HRESULT GetData(
  [in]            ID3D11Asynchronous *pAsync,
  [out, optional] void               *pData,
  [in]            UINT               DataSize,
  [in]            UINT               GetDataFlags
);

Parameter

[in] pAsync

Typ: ID3D11Asynchron*

Ein Zeiger auf eine ID3D11Asynchrone Schnittstelle für das Objekt, über das GetData Daten abruft.

[out, optional] pData

Typ: void*

Adresse des Arbeitsspeichers, der die Daten empfängt. Bei NULL wird GetData nur verwendet, um status zu überprüfen. Der Typ der Datenausgabe hängt vom Typ der asynchronen Schnittstelle ab.

[in] DataSize

Typ: UINT

Größe der abzurufenden Daten oder 0. Muss 0 sein, wenn pDataNULL ist.

[in] GetDataFlags

Typ: UINT

Optionale Flags. Kann 0 oder eine beliebige Kombination der von D3D11_ASYNC_GETDATA_FLAG aufgezählten Flags sein.

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen der Direct3D 11-Rückgabecodes zurück. Ein Rückgabewert von S_OK gibt an, dass die Daten bei pData für die aufrufende Anwendung verfügbar sind. Ein Rückgabewert von S_FALSE gibt an, dass die Daten noch nicht verfügbar sind. Wenn die Daten noch nicht verfügbar sind, muss die Anwendung GetData aufrufen, bis die Daten verfügbar sind.

Hinweise

Abfragen in einem verzögerten Kontext sind auf prädiktische Zeichnung beschränkt. Das heißt, Sie können ID3D11DeviceContext::GetData nicht in einem verzögerten Kontext aufrufen, um Daten zu einer Abfrage abzurufen. Sie können GetData nur im unmittelbaren Kontext aufrufen, um Daten zu einer Abfrage abzurufen. Für prädizierte Zeichnung werden die Ergebnisse einer Abfrage vom Typ Prädication von der GPU verwendet und nicht an eine Anwendung zurückgegeben. Weitere Informationen zu Prädication und Prädikatzeichnung finden Sie unter D3D11DeviceContext::SetPredication.

GetData ruft die Daten ab, die die Runtime zwischen Aufrufen von ID3D11DeviceContext::Begin und ID3D11DeviceContext::End gesammelt hat. Für bestimmte Abfragen ist nur ein Aufruf von ID3D11DeviceContext::End erforderlich. In diesem Fall sind die von GetData zurückgegebenen Daten bis zum letzten Aufruf von ID3D11DeviceContext::End genau. Informationen zu den Abfragen, die nur einen Aufruf von ID3D11DeviceContext::End erfordern, und zu dem Datentyp, den GetData für jede Abfrage abruft, finden Sie unter D3D11_QUERY.

Wenn DataSize 0 ist, wird GetData nur verwendet, um status zu überprüfen.

Eine Anwendung sammelt Leistungsindikatorendaten, indem SIE ID3D11DeviceContext::Begin aufruft, einige Grafikbefehle ausgibt, ID3D11DeviceContext::End aufruft und dann ID3D11DeviceContext::GetData aufruft, um Daten über die Vorgänge zwischen den Aufrufen "Begin " und "End " abzurufen. Informationen zu Leistungsindikatortypen finden Sie unter D3D11_COUNTER.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11DeviceContext