WDDM-Architektur

Das Windows Display Driver Model (WDDM) verfügt über Komponenten für den Benutzermodus und den Kernelmodus. Die folgende Abbildung zeigt die verschiedenen Komponenten der WDDM-Architektur.

Diagramm, das die WDDM-Architektur mit Komponenten für den Benutzermodus und den Kernelmodus zeigt.

Vom System bereitgestellte Module werden in der Abbildung als weiße Kästchen dargestellt. Graue Felder stellen Module dar, die IHVs bereitstellen können. Anwendungen können von Partnern oder vom System bereitgestellt werden.

Vom System bereitgestellte Module

Die folgenden vom System bereitgestellten Module sind Teil der WDDM-Architektur:

  • Die Direct3D-Laufzeit ist eine Benutzermoduskomponente, die eine Anwendungs-API für Anwendungen bereitstellt. Es bietet verschiedene Dienste und ist für die Verwaltung der Interaktion zwischen einer Anwendung, dem Benutzermodusgrafiktreiber (UMD) und gdi32.dll verantwortlich.

  • gdi32.dll ist eine Benutzermodusbibliothek, mit der eine D3D-Laufzeit oder ein Partnergrafikclient verknüpft ist. Eine Laufzeit oder ein Client ruft einen gdi32 „thunk” auf, der den Aufruf an die entsprechende Kernelmodusfunktion im DirectX-Kernelsubsystem (Dxgkrnl) weitergibt.

  • Dxgkrnl.sys ist die Kernkomponente des Kernelmodusgrafiksubsystems des Windows-Betriebssystems. Es erleichtert die Kommunikation zwischen dem Betriebssystem, der UMD und dem Kernelmodus-Miniporttreiber (KMD). Dxgkrnl enthält Unterkomponenten wie den Anzeigeporttreiber, den Speicher-Manager (VidMm) und den Scheduler (VidSch). Dxgkrnl besteht aus dxgkrnl.sys, dxgmms1.sys (behandelt WDDM-Versionen vor WDDM 2.0) und dxgmms2.sys (behandelt WDDM-Versionen 2.0 und höher).

  • Win32 GDI und Win32k.sys sind Legacykomponenten, die von einigen Anwendungen noch verwendet werden.

Von Drittanbietern bereitgestellte Module

  • Die UMD ist eine DLL (Dynamic Link Library), die von der Direct3D-Laufzeit geladen wird.

  • Die KMD kommuniziert mit Dxgkrnl und der Grafikhardware.

Ein Grafikhardwareanbieter muss sowohl eine UMD als auch eine KMD bereitstellen.

  • Ein Partnergrafikclient eines Drittanbieters ist eine Benutzermoduskomponente, die über eine eigene API und ein eigenes Framework verfügt. Es ruft gdi32 Thunks auf, um mit dem Kernelmodus-Grafiksubsystem zu kommunizieren. Die von Microsoft bekannten Clients werden in D3DKMT_CLIENTHINT aufgeführt.