DirectX Graphics Kernel Subsystem (Dxgkrnl)

In diesem Artikel werden Kernelmodusschnittstellen beschrieben, die vom Windows-Betriebssystem über das DirectX-Grafik-Kernelsubsystem (Dxgkrnl.sys) implementiert werden.

Der Anzeigeporttreiber ist ein Teil von Dxgkrnl.sys. Ein Grafik-/Anzeigehardwareanbieter implementiert den Kernelmodus-Miniporttreiber (KMD).

Beschreibungen anderer von Dxgkrnl implementierter Funktionen finden Sie in artikeln wie:

VidPN-Objekte und -Schnittstellen

Unterstützen der pfadunabhängigen Drehung

Abrufen zusätzlicher Monitorzielmodi

Dxgkrnl-Schnittstelle

Die DriverEntry-Funktion einer KMD ruft die DxgkInitialize-Funktion des Betriebssystems auf, wodurch Dxgkrnl geladen und initialisiert wird.

Nach dem Laden stellt Dxgkrnl.sys der KMD Zeiger auf seine Funktionen bereit, indem eine DXGKRNL_INTERFACE Struktur an die DxgkDdiStartDevice-Funktion der KMD übergeben wird. Die Funktionszeiger von Dxgkrnl weisen ein DxgkCb-Präfix auf.

Die DXGKRNL_INTERFACE-Struktur enthält auch einen Ziehpunkt für einen bestimmten Anzeigeadapter. Der Anzeigeporttreiber generiert dieses Handle. Der KMD übergibt dieses Handle jedes Mal als Argument, wenn er eine der Funktionen in DXGKRNL_INTERFACE aufruft.

Anzeigeporttreiberschnittstellen

Die KMD ruft die Schnittstellen des Anzeigeporttreibers ab, indem die Dxgkrnl DxgkCbQueryServices-Funktion mit einem DXGK_SERVICES Wert aufgerufen wird, der den Typ der Schnittstelle angibt, die der KMD wünscht. Dienste, die der Anzeigeporttreiber bereitstellt, umfassen AGP-Dienste (Beschleunigter Grafikport), Debugberichtsdienste, Zeitoperationsdienste und vieles mehr.

Weitere Informationen

Windows Display Driver Model (WDDM)-Architektur

Initialisieren des Display Miniport-Treibers