PFND3DDDI_CREATEQUERY Rückruffunktion (d3dumddi.h)
Die CreateQuery--Funktion erstellt treiberseitige Ressourcen für eine Abfrage, die die Microsoft Direct3D-Laufzeit anschließend für die Verarbeitung ausgibt.
Syntax
PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;
HRESULT Pfnd3dddiCreatequery(
HANDLE hDevice,
D3DDDIARG_CREATEQUERY *unnamedParam2
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
pData- [in, out]
Ein Zeiger auf eine D3DDDIARG_CREATEQUERY Struktur, die die Abfrage identifiziert.
Rückgabewert
CreateQuery gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Die Abfrage wurde erfolgreich erstellt. |
E_OUTOFMEMORY | CreateQuery- konnte den erforderlichen Arbeitsspeicher nicht zuordnen, damit er abgeschlossen werden kann. |
Bemerkungen
Die Direct3D-Laufzeit ruft die CreateQuery-Funktion des Benutzermodus mit einem Abfragetyp auf, um Ressourcen für eine Abfrage zu erstellen. Der Anzeigetreiber für den Benutzermodus erstellt die folgenden Ressourcen für Abfragetypen:
- BOOL für D3DDDIQUERYTYPE_EVENT. Bevor sie auf ein Ereignis reagieren, muss der Treiber sicherstellen, dass die Grafikverarbeitungseinheit (GPU) alle Vorgänge verarbeitet, die mit dem Ereignis zusammenhängen. Das heißt, der Treiber antwortet auf ein Ereignis, nachdem der Endzustand des Problems auftritt. Der Treiber muss beim Reagieren immer den BOOL-Wert des Ereignisses auf TRUE- festlegen.
- UINT für D3DDDIQUERYTYPE_OCCLUSION. Der Treiber legt diese UINT-Variable auf die Anzahl der Pixel fest, für die der Z-Test für alle Grundtypen zwischen dem Anfangs- und Endstatus der Problemabfrage bestanden hat. Wenn der Tiefenpuffer multisampelt ist, bestimmt der Treiber die Anzahl der Pixel aus der Anzahl der Beispiele. Wenn das Anzeigegerät jedoch die Z-Testgenauigkeit für jedes Multisample ermöglicht, sollte die Konvertierung in die Anzahl der Pixel im Allgemeinen aufgerundet werden. Eine Anwendung kann dann das Okklusionsergebnis gegen 0 überprüfen, um effektiv "vollständig verdeckt" zu bedeuten. Treiber, die Multisampling-Mengen in Pixelmengen konvertieren, sollten Renderziel-Multisampling-Änderungen erkennen und die Abfrageergebnisse entsprechend berechnen.
- Eine D3DDDIDEVINFO_VCACHE Struktur für D3DDDIQUERYTYPE_VCACHE. Der Treiber antwortet, nachdem der Endzustand des Problems aufgetreten ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform- | Desktop |
Header- | d3dumddi.h (include D3dumddi.h) |