DriverEntry of Display Miniport Driver function
Die DriverEntry-Funktion stellt das Microsoft DirectX-Grafikkernsubsystem mit einer Reihe von Zeigern auf Funktionen bereit, die vom Anzeigeminiporttreiber implementiert werden.
Syntax
NTSTATUS DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
);
Parameter
DriverObject [in] Ein Zeiger auf eine DRIVER_OBJECT Struktur, die den Treiber darstellt, der durch das Treiberpaar (Anzeigeminiport, Anzeigeport) gebildet wird.
RegistryPath [in] Ein Zeiger auf eine UNICODE_STRING Struktur, die den Pfad zum Registrierungsschlüssel des Treibers bereitstellt.
Rückgabewert
DriverEntry ruft DxgkInitialize auf und muss den von DxgkInitialize zurückgegebenen Wert zurückgeben.
Hinweise
DriverEntry muss die folgenden Schritte ausführen:
Ordnen Sie eine DRIVER_INITIALIZATION_DATA-Struktur zu, und legen Sie ihr Versionselement auf DXGKDDI_INTERFACE_VERSION fest, das in Dispmprt.h definiert ist.
Füllen Sie die restlichen Elemente der DRIVER_INITIALIZATION_DATA-Struktur mit Zeigern auf die folgenden Funktionen aus, die vom Anzeigeminiporttreiber implementiert werden.
- DxgkDdiAcquireSwizzlingRange
- DxgkDdiAddDevice
- DxgkDdiBuildPagingBuffer
- DxgkDdiCalibrateGpuClock (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3)
- DxgkDdiCancelCommand (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiCheckMultiPlaneOverlaySupport (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiCloseAllocation
- DxgkDdiCollectDbgInfo
- DxgkDdiCommitVidPn
- DxgkDdiControlEtwLogging
- DxgkDdiControlInterrupt
- DxgkDdiCreateAllocation
- DxgkDdiCreateContext
- DxgkDdiCreateDevice
- DxgkDdiCreateOverlay
- DxgkDdiDescribeAllocation
- DxgkDdiDestroyAllocation
- DxgkDdiDestroyContext
- DxgkDdiDestroyDevice
- DxgkDdiDestroyOverlay
- DxgkDdiDispatchIoRequest
- DxgkDdiDpcRoutine
- DxgkDdiEnumVidPnCofuncModality
- DxgkDdiEscape
- DxgkDdiFlipOverlay
- DxgkDdiFormatHistoryBuffer (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiGetChildContainerId (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiGetNodeMetadata (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiGetScanLine
- DxgkDdiGetStandardAllocationDriverData
- DxgkDdiInterruptRoutine
- DxgkDdiIsSupportedVidPn
- DxgkDdiLinkDevice
- DxgkDdiNotifyAcpiEvent (optional)
- DxgkDdiNotifySurpriseRemoval (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiOpenAllocation
- DxgkDdiPatch
- DxgkDdiPowerRuntimeControlRequest (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiPreemptCommand
- DxgkDdiPresent
- DxgkDdiQueryAdapterInfo
- DxgkDdiQueryChildRelations
- DxgkDdiQueryChildStatus
- DxgkDdiQueryCurrentFence
- DxgkDdiQueryDependentEngineGroup (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiQueryDeviceDescriptor
- DxgkDdiQueryEngineStatus (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiQueryInterface
- DxgkDdiQueryVidPnHWCapability (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN7)
- DxgkDdiRecommendFunctionalVidPn
- DxgkDdiRecommendMonitorModes
- DxgkDdiRecommendVidPnTopology
- DxgkDdiReleaseSwizzlingRange
- DxgkDdiRemoveDevice
- DxgkDdiRender
- DxgkDdiRenderKm (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN7)
- DxgkDdiResetDevice
- DxgkDdiResetEngine (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiResetFromTimeout
- DxgkDdiRestartFromTimeout
- DxgkDdiSetDisplayPrivateDriverFormat
- DxgkDdiSetPalette
- DxgkDdiSetPointerPosition
- DxgkDdiSetPointerShape
- DxgkDdiSetPowerComponentFState (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiSetPowerState
- DxgkDdiSetVidPnSourceAddress
- DxgkDdiSetVidPnSourceVisibility
- DxgkDdiStartDevice
- DxgkDdiStopCapture
- DxgkDdiStopDevice
- DxgkDdiStopDeviceAndReleasePostDisplayOwnership (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiSubmitCommand
- DxgkDdiSystemDisplayEnable (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiSystemDisplayWrite (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8)
- DxgkDdiUnload
- DxgkDdiUpdateActiveVidPnPresentPath
- DxgkDdiUpdateOverlay
Übergeben Sie DriverObject, RegistryPath und die ausgefüllte DRIVER_INITIALIZATION_DATA Struktur an DxgkInitialize.
Gibt den von DxgkInitialize zurückgegebenen Wert zurück.
Die DRIVER_INITIALIZATION_DATA-Struktur muss nach der Rückgabe von DriverEntry nicht mehr im Arbeitsspeicher verbleiben.
DriverEntry sollte ausgelagert werden.
Für die KmDOD-Schnittstelle (Display-Only Driver) des Kernelmodus listet die KMDDOD_INITIALIZATION_DATA-Struktur alle Funktionen auf, die von einem KMDOD implementiert werden können. Alle diese Funktionen, mit Ausnahme der DxgkDdiPresentDisplayOnly-Funktion , können auch von einem Vollanzeige-Miniporttreiber implementiert werden. Die DriverEntry-Funktion des Kernelmodus display-only driver (KMDOD) stellt Funktionszeiger auf den Anzeigeporttreiber bereit, indem alle Member einer KMDDOD_INITIALIZATION_DATA-Struktur ausgefüllt und diese Struktur dann an die DxgkInitializeDisplayOnlyDriver-Funktion übergeben wird.
Beachten Sie, dass eine KMDOD, wenn das VSync-Steuerelementfeature nicht unterstützt wird, bestimmte Funktionen nicht implementieren sollte. Weitere Informationen finden Sie unter Sparen von Energie mit VSync Control.
Die folgenden Strukturen und Enumerationen werden auch mit Treibern im Kernelmodus verwendet, die nur angezeigt werden:
- D3DKMT_MOVE_RECT
- D3DKMT_PRESENT_DISPLAY_ONLY_FLAGS
- DXGK_PRESENT_DISPLAY_ONLY_PROGRESS_ID
- DXGKARG_PRESENT_DISPLAYONLY
- DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS
Anforderungen
Zielplattform |
Desktop |
Version |
Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Bibliothek |
NtosKrnl.lib |
DLL |
NtosKrnl.exe |
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für