PFND3D10DDI_QUERYGETDATA Rückruffunktion (d3d10umddi.h)
Die QueryGetData Funktionsabfragen für den Status eines Abfragevorgangs ab.
Syntax
PFND3D10DDI_QUERYGETDATA Pfnd3d10ddiQuerygetdata;
void Pfnd3d10ddiQuerygetdata(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HQUERY unnamedParam2,
VOID *unnamedParam3,
UINT DataSize,
UINT unnamedParam5
)
{...}
Parameter
unnamedParam1
hDevice [in]: Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
hQuery [in]: Ein Handle für das Abfrageobjekt, das abgefragt werden soll.
unnamedParam3
pData- [out]: Ein Zeiger auf einen Speicherbereich, der die Daten aus einem Abfragevorgang empfängt. Der Anzeigetreiber für den Benutzermodus kann pData- auf NULL festlegen und den DataSize-Parameter auf Null festlegen. Wenn pData- NULL ist, kann QueryGetData- den Status des Abfragevorgangs angeben (z. B. ob der Abfragevorgang abgeschlossen ist).
DataSize
[out] Die Größe der Abfragedaten, auf die der pData Parameter verweist, in Byte. Der Anzeigetreiber für den Benutzermodus kann DataSize- auf Null festlegen und pData- auf NULL festlegen. Wenn DataSize null ist, kann QueryGetData- den Status des Abfragevorgangs angeben (z. B. durch Rückgabecodes).
unnamedParam5
Flags [in]: D3D10_DDI_GET_DATA_FLAG Flags.
Rückgabewert
Nichts
Bemerkungen
Der Treiber kann die pfnSetErrorCb Rückruffunktion verwenden, um einen Fehlercode festzulegen.
Nachdem die Microsoft Direct3D-Laufzeit die QueryEnd--Funktion des Benutzermodus aufgerufen hat, um einen Abfragevorgang in den Status "ausgestellt" zu überstellen, kann die Laufzeit QueryGetData- aufrufen, um zu ermitteln, ob sich der Abfragevorgang noch im Status "ausgestellt" (DXGI_DDI_ERR_WASSTILLDRAWING) befindet oder in den Zustand "signaled" (S_OK) übergestellt wurde. Wenn sich der Abfragevorgang im Zustand "signalisiert" befindet, kann QueryGetData- die Abfragedaten im pData--Parameter zurückgeben; andernfalls ist pData- unverändert. Der Treiber kann pfnSetErrorCb- aufrufen, um den Status des Abfragevorgangs anzugeben.
Die Laufzeit kann QueryGetData- nicht mit einem Prädikat aufrufen, das mit D3D10_QUERY_MISCFLAG_PREDICATEHINT über einen Aufruf der SetPredication--Funktion erstellt wurde.
Wenn ein Abfragevorgang Arbeit verarbeitet, die sich weiterhin in Teilbefehlspuffern befindet, sollte der Treiber standardmäßig die Teilbefehlspuffer beenden und übermitteln. Der Treiber sollte die Puffer jedoch nicht beenden und übermitteln, wenn die Laufzeit das D3D10_DDI_GET_DATA_DO_NOT_FLUSH Flag im parameter Flags angegeben hat. Wenn die Laufzeit das D3D10_DDI_GET_DATA_DO_NOT_FLUSH Flag im Flags Parameter übergeben hat und wenn der Abfragevorgang Arbeit verarbeitet, die sich noch in Teilbefehlspuffern befindet, kann der Treiber pfnSetErrorCb- aufrufen, um nur den DXGI_DDI_ERR_WASSTILLDRAWING Fehlercode festzulegen.
Wenn die Laufzeit QueryGetData- aufruft, um den Abschluss einer Abfrage zu überprüfen, kann der Treiber DXGI_DDI_ERR_WASSTILLDRAWING in einem Aufruf von pfnSetErrorCb übergeben, um anzugeben, dass die Abfrage noch nicht abgeschlossen ist. Der Treiber kann auch D3DDDIERR_DEVICEREMOVED in einem Aufruf von pfnSetErrorCbübergeben. Die Direct3D-Laufzeit bestimmt, dass alle anderen Fehler kritisch sind.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Zielplattform- | Desktop |
Header- | d3d10umddi.h (include D3d10umddi.h) |