Direct3D-Laufzeitfunktionen, die von User-Mode-Anzeigetreibern aufgerufen werden

In diesem Thema werden die Funktionen aufgelistet, die die Microsoft Direct3D-Runtime für den Benutzermodusanzeigetreiber bereitstellt. Dazu gehören die Direct3D-Runtime-Kerneldienste, die auf Funktionen zugreifen, sowie die Funktionen der Direct3D-Runtime version 10 und 11. Diese Funktionen sind Teil der Benutzermodus-Direct3D-Anzeigetreiberschnittstellen, die das Betriebssystem über die Direct3D-Runtime implementiert.

Direct3D Runtime Kernel-Services Zugreifen auf Funktionen

Die Microsoft Direct3D-Runtime, Version 9 , stellt Zeiger auf adapterspezifische Rückruffunktionen über Elemente der D3DDDI_ADAPTERCALLBACKS-Struktur in einem Aufruf der OpenAdapter-Funktion des Benutzermodusanzeigetreibers bereit. Die Laufzeit stellt Zeiger bereit, um gerätespezifische Rückruffunktionen über Member der D3DDDI_DEVICECALLBACKS-Struktur in einem Aufruf der CreateDevice-Funktion des Benutzermodusanzeigetreibers anzuzeigen.

Microsoft Direct3D Version 10 oder höher stellt Zeiger auf adapterspezifische Rückruffunktionen über Member der D3DDDI_ADAPTERCALLBACKS-Struktur in einem Aufruf der OpenAdapter10 - oder OpenAdapter10_2-Funktion des Benutzermodus-Anzeigetreibers bereit. Die Laufzeit stellt Zeiger bereit, um gerätespezifische Rückruffunktionen über Member der D3DDDI_DEVICECALLBACKS-Struktur in einem Aufruf der CreateDevice(D3D10) -Funktion des Benutzermodusanzeigetreibers anzuzeigen.

Direct3D-Parameterstrukturen

Die folgenden Strukturen werden von den Kerneldiensten der Direct3D-Laufzeit verwendet, die auf Funktionen zugreifen. Der Benutzermodusanzeigetreiber übergibt Zeiger auf diese Strukturen in Parametern der Laufzeitfunktionen.

  • D3DDDI_UPDATEALLOCPROPERTY
  • D3DDDICB_ALLOCATE
  • D3DDDICB_CREATECONTEXT
  • D3DDDICB_CREATECONTEXTVIRTUAL
  • D3DDDICB_CREATEHWCONTEXT
  • D3DDDICB_CREATEHWQUEUE
  • D3DDDICB_CREATEOVERLAY
  • D3DDDICB_CREATEPAGINGQUEUE
  • D3DDDICB_CREATESYNCHRONIZATIONOBJECT2
  • D3DDDICB_CREATESYNCHRONIZATIONOBJECT
  • D3DDDICB_DESTROYHWCONTEXT
  • D3DDDICB_DESTROYHWQUEUE
  • D3DDDICB_DEALLOCATE
  • D3DDDICB_DEALLOCATE2
  • D3DDDICB_DESTROYCONTEXT
  • D3DDDICB_DESTROYOVERLAY
  • D3DDDICB_DESTROYSYNCHRONIZATIONOBJECT
  • D3DDDICB_ESCAPE
  • D3DDDICB_EVICT
  • D3DDDICB_FLIPOVERLAY
  • D3DDDICB_GETMULTISAMPLEMETHODLIST
  • D3DDDICB_LOCK
  • D3DDDICB_LOCK2FLAGS
  • D3DDDICB_OFFERALLOCATIONS
  • D3DDDICB_PRESENT
  • D3DDDICB_QUERYADAPTERINFO
  • D3DDDICB_QUERYRESIDENCY
  • D3DDDICB_RECLAIMALLOCATIONS
  • D3DDDICB_RECLAIMALLOCATIONS2
  • D3DDDICB_RENDER
  • D3DDDICB_SETDISPLAYMODE
  • D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT
  • D3DDDICB_SETPRIORITY
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMCPU
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2
  • D3DDDICB_SUBMITCOMMAND
  • D3DDDICB_SUBMITCOMMANDFLAGS
  • D3DDDICB_SUBMITCOMMANDTOHWQUEUE
  • D3DDDICB_SUBMITSIGNALSYNCOBJECTSTOHWQUEUE
  • D3DDDICB_SUBMITWAITFORSYNCOBJECTSTOHWQUEUE
  • D3DDDICB_UNLOCK
  • D3DDDICB_UNLOCK2
  • D3DDDICB_UPDATEGPUVIRTUALADDRESS
  • D3DDDICB_UPDATEOVERLAY
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT2
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMCPU
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMGPU

Direct3D-Runtime, Version 10 und höher, Kernrückruffunktionen

In diesem Abschnitt werden die wichtigsten Rückruffunktionen beschrieben, die microsoft Direct3D 10 und höhere Runtimes für den Benutzermodus-Anzeigetreiber bereitstellen. Die Laufzeit stellt Zeiger auf kerne Rückruffunktionen über Elemente der D3D10DDI_CORELAYER_DEVICECALLBACKS-Struktur in einem Aufruf der CreateDevice(D3D10) -Funktion des Benutzermodusanzeigetreibers bereit.

Direct3D Runtime Version 10 Control Callback Functions

Im Folgenden sehen Sie eine Liste der Steuerelementrückruffunktionen, die microsoft Direct3D 10 und höher über die D3D10DDI_CORELAYER_DEVICECALLBACKS-Struktur für den Benutzermodusanzeigetreiber bereitstellen.

Direct3D Runtime Version 10 State-Refresh Rückruffunktionen

Im Folgenden sehen Sie eine Liste der Rückruffunktionen für Zustandsaktualisierungen, die die Microsoft Direct3D 10-Runtime dem Benutzermodusanzeigetreiber über die D3D10DDI_CORELAYER_DEVICECALLBACKS-Struktur bereitstellt.

Da die Direct3D 10-Runtime die aktuell gebundenen Zustandsobjekte für Anwendungen zwischenspeichert, speichert die Laufzeit auch aktuell gebundene Zustandsobjekte für Anzeigetreiber im Benutzermodus mit geringem Mehraufwand zwischen. Für jeden Aufruf, den der Anzeigetreiber im Benutzermodus an eine Rückruffunktion zur Zustandsaktualisierung vornimmt, ruft die Direct3D 10-Runtime eine Treiberstatusfunktion im selben Ausführungsthread auf, bevor sie zum aufrufenden Code im Treiber zurückkehrt. Um die Leistung zu verbessern, führen die Rückruffunktionen für Zustandsaktualisierungen keine Parametervalidierung durch.

Die Rückruffunktionen für zustandsaktualisierungen sind nützlich, wenn Sie versuchen, einen zustandslosen Treiber zu entwickeln oder Präambeldaten für Befehlspuffer zu erstellen. Die Rückruffunktionen für zustandsaktualisierungen ermöglichen es dem Benutzermodus-Anzeigetreiber auch, von hohen Wasserzeichen zu profitieren, die die Direct3D 10-Runtime verwaltet. Hohe Wasserzeichen geben den größten Slotindex an, der nicht NULL sein kann. Daher verbessern hohe Wasserzeichen die Durchläufe über solche Slots.

Direct3D Runtime Version 10 Kernel-Services Zugreifen auf Funktionen

In diesem Abschnitt werden die Kerneldienste aufgelistet, die auf Funktionen zugreifen, die von der DXGI-Komponente (DirectX Graphics Infrastructure) der Microsoft Direct3D 10-Runtime für den Benutzermodusanzeigetreiber bereitgestellt werden. DXGI stellt Zeiger auf Kerneldienste bereit, die über Member der DXGI_DDI_BASE_CALLBACKS-Struktur in einem Aufruf der CreateDevice(D3D10) -Funktion des Benutzermodusanzeigetreibers auf Funktionen zugreifen.

Funktionen der Direct3D-Runtime, Version 11

In diesem Abschnitt werden die wichtigsten Rückruffunktionen beschrieben, die microsoft Direct3D 11 und höher für den Benutzermodus-Anzeigetreiber bereitstellen. Die Laufzeit stellt Zeiger auf kerne Rückruffunktionen über Elemente der D3D11DDI_CORELAYER_DEVICECALLBACKS-Struktur in einem Aufruf der CreateDevice(D3D10)-Funktion des Benutzermodusanzeigetreibers bereit.

Direct3D Runtime Version 11 Control Callback Functions

In diesem Abschnitt werden die zusätzlichen Steuerelementrückruffunktionen aufgeführt, die microsoft Direct3D 11 und höhere Runtimes für den Benutzermodusanzeigetreiber bereitstellen.

Direct3D Runtime Version 11 State-Refresh Rückruffunktionen

In diesem Abschnitt werden die zusätzlichen Rückruffunktionen für Zustandsaktualisierungen aufgeführt, die von Microsoft Direct3D Version 11 und höher für den Benutzermodusanzeigetreiber bereitgestellt werden.

Da die Direct3D 11-Runtime die aktuell gebundenen Zustandsobjekte für Anwendungen zwischenspeichert, speichert die Laufzeit auch aktuell gebundene Zustandsobjekte für Benutzermodusanzeigetreiber mit geringem Mehraufwand zwischen. Für jeden Aufruf, den der Benutzermodusanzeigetreiber an eine Rückruffunktion für die Zustandsaktualisierung vornimmt, ruft die Direct3D 11-Runtime eine Treiberstatusfunktion im selben Ausführungsthread auf, bevor sie zum aufrufenden Code im Treiber zurückkehrt. Um die Leistung zu verbessern, führen die Rückruffunktionen für Zustandsaktualisierungen keine Parametervalidierung durch.

Die Rückruffunktionen für zustandsaktualisierungen sind nützlich, wenn Sie versuchen, einen zustandslosen Treiber zu entwickeln oder Präambeldaten für Befehlspuffer zu erstellen. Die Rückruffunktionen für zustandsaktualisierungen ermöglichen es dem Benutzermodus-Anzeigetreiber auch, von hohen Wasserzeichen zu profitieren, die die Direct3D 11-Runtime verwaltet. Hohe Wasserzeichen geben den größten Slotindex an, der nicht NULL sein kann. Daher verbessern hohe Wasserzeichen die Durchläufe über solche Slots.

Direct3D Runtime, Version 12 und höher

Die Microsoft Direct3D 12- und höher-Runtimes stellen die folgenden Zentralen Rückruffunktionen für den Benutzermodusanzeigetreiber bereit.

Weitere Informationen

Unterstützung des DXGI DDI

Unterstützung für Mehrschichtüberlagerungen

Direct3D-Funktionen, die von Benutzermodusanzeigetreibern implementiert werden

Verbesserungen der Direct3D-Renderingleistung