PFND3DDDI_CREATEQUERY Rückruffunktion (d3dumddi.h)
Die CreateQuery-Funktion erstellt treiberseitige Ressourcen für eine Abfrage, die die Microsoft Direct3D-Runtime 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 [ein, aus]
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 nicht den erforderlichen Arbeitsspeicher zuweisen, damit er vollständig abgeschlossen werden konnte. |
Hinweise
Die Direct3D-Runtime ruft die CreateQuery-Funktion des Benutzermodusanzeigetreibers mit einem Abfragetyp auf, um Ressourcen für eine Abfrage zu erstellen. Der Benutzermodusanzeigetreiber erstellt die folgenden Ressourcen für Abfragetypen:
- BOOL für D3DDDIQUERYTYPE_EVENT. Bevor er auf ein Ereignis antwortet, muss der Treiber sicherstellen, dass die Grafikverarbeitungseinheit (GRAPHICS Processing Unit, GPU) die Verarbeitung aller Vorgänge abgeschlossen hat, die sich auf das Ereignis beziehen. Das heißt, der Treiber antwortet auf ein Ereignis, nachdem der Problemendzustand aufgetreten ist. Der Treiber muss den BOOL-Wert des Ereignisses immer auf TRUE festlegen, wenn er reagiert.
- 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 Endzustand der Problemabfrage bestanden hat. Wenn der Tiefenpuffer multisampled ist, bestimmt der Treiber die Anzahl von Pixeln aus der Anzahl der Beispiele. Wenn das Anzeigegerät jedoch in der Lage ist, die Z-Testgenauigkeit für jedes Multisampel zu testen, sollte die Konvertierung in die Anzahl von Pixeln in der Regel aufgerundet werden. Eine Anwendung kann dann das Okklusionsergebnis mit 0 überprüfen, um effektiv "vollständig verworren" zu bedeuten. Treiber, die multisampled-Mengen in Pixelmengen konvertieren, sollten Renderziel-Multisamplingänderungen erkennen und die Abfrageergebnisse weiterhin entsprechend berechnen.
- Eine D3DDDIDEVINFO_VCACHE-Struktur für D3DDDIQUERYTYPE_VCACHE. Der Treiber antwortet, nachdem der Problemendzustand aufgetreten ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Desktop |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |