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.
Weitere Informationen zu Problemabfragezuständen finden Sie unter D3DDDI_ISSUEQUERYFLAGS.

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)

Weitere Informationen

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS