Display Miniport Driver 函式的 DriverEntry
DriverEntry 函式提供 Microsoft DirectX 圖形核心子系統,以及顯示迷你埠驅動程式所實作之函式的一組指標。
語法
NTSTATUS DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
);
參數
DriverObject [in] DRIVER_OBJECT 結構的指標 ,代表 (顯示迷你埠所構成的驅動程式,顯示埠) 驅動程式組。
RegistryPath [in] 提供驅動程式登錄機碼路徑 之UNICODE_STRING 結構的指標。
傳回值
DriverEntry 會呼叫 DxgkInitialize ,而且必須傳回 DxgkInitialize 所傳回的值。
備註
DriverEntry 必須執行下列步驟:
配置 DRIVER_INITIALIZATION_DATA 結構,並將其 Version 成員設定為 DXGKDDI_INTERFACE_VERSION,其定義於 Dispmprt.h 中。
使用下列函式的指標填入 DRIVER_INITIALIZATION_DATA 結構的其餘成員,這些函式是由顯示迷你埠驅動程式所實作。
- 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 (選擇性)
- 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
將 DriverObject、 RegistryPath 和填入 DRIVER_INITIALIZATION_DATA 結構中的 傳遞至 DxgkInitialize。
傳回 DxgkInitialize 所傳回的值。
在 DriverEntry 傳回之後,DRIVER_INITIALIZATION_DATA結構不需要保留在記憶體中。
DriverEntry 應該可分頁。
針對核心模式僅顯示驅動程式 (KMDOD) 介面, KMDDOD_INITIALIZATION_DATA 結構會列出 KMDOD 可實作的所有函式。 除了 DxgkDdiPresentDisplayOnly 函式之外,所有這些函式也可以由完整的顯示迷你埠驅動程序實作。 核心模式僅顯示驅動程式的 DriverEntry 函式 (KMDOD) 藉由填入KMDDOD_INITIALIZATION_DATA結構的所有成員,然後將該結構傳遞至 DxgkInitializeDisplayOnlyDriver 函式,來提供顯示埠驅動程式的函式指標。
請注意,如果 KMDOD 不支援 VSync 控制功能,它不應該實作特定功能,請參閱使用 VSync Control 節省能源。
下列結構和列舉也搭配僅核心模式顯示驅動程式使用:
- D3DKMT_MOVE_RECT
- D3DKMT_PRESENT_DISPLAY_ONLY_FLAGS
- DXGK_PRESENT_DISPLAY_ONLY_PROGRESS_ID
- DXGKARG_PRESENT_DISPLAYONLY
- DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS
規格需求
目標平台 |
桌面 |
版本 |
可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
媒體櫃 |
NtosKrnl.lib |
DLL |
NtosKrnl.exe |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應