DriverEntry della funzione driver Display Miniport
La funzione DriverEntry fornisce al sottosistema kernel grafico DirectX Microsoft un set di puntatori alle funzioni implementate dal driver miniport di visualizzazione.
Sintassi
NTSTATUS DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
);
Parametri
DriverObject [in] Puntatore a una struttura DRIVER_OBJECT che rappresenta il driver formato dalla coppia di driver (miniport di visualizzazione, porta di visualizzazione).
RegistryPath [in] Puntatore a una struttura UNICODE_STRING che fornisce il percorso alla chiave del Registro di sistema del driver.
Valore restituito
DriverEntry chiama DxgkInitialize e deve restituire il valore restituito da DxgkInitialize.
Commenti
DriverEntry deve eseguire i passaggi seguenti:
Allocare una struttura DRIVER_INITIALIZATION_DATA e impostarne il membro Version su DXGKDDI_INTERFACE_VERSION, definito in Dispmprt.h.
Compilare i membri rimanenti della struttura DRIVER_INITIALIZATION_DATA con puntatori alle funzioni seguenti, implementate dal driver miniport di visualizzazione.
- 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 (facoltativo)
- 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
- DxgkDdiQueryVidHWCapability (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
Passare DriverObject, RegistryPath e la struttura compilata DRIVER_INITIALIZATION_DATA a DxgkInitialize.
Restituisce il valore restituito da DxgkInitialize.
La struttura DRIVER_INITIALIZATION_DATA non deve rimanere in memoria dopo la restituzione di DriverEntry .
DriverEntry deve essere reso pageable.
Per l'interfaccia del driver di sola visualizzazione (KMDOD) in modalità kernel, la struttura KMDDOD_INITIALIZATION_DATA elenca tutte le funzioni che possono essere implementate da un KMDOD. Tutte queste funzioni, ad eccezione della funzione DxgkDdiPresentDisplayOnly , possono essere implementate anche da un driver miniport con schermo completo. La funzione DriverEntry del driver di sola visualizzazione in modalità kernel (KMDOD) fornisce puntatori a funzione al driver della porta di visualizzazione compilando tutti i membri di una struttura KMDDOD_INITIALIZATION_DATA e quindi passando tale struttura alla funzione DxgkInitializeDisplayOnlyDriver .
Si noti che se un KMDOD non supporta la funzionalità di controllo VSync, non deve implementare determinate funzioni. Vedere Risparmio energia con il controllo VSync.
Le strutture e l'enumerazione seguenti vengono usate anche con i driver di sola visualizzazione in modalità kernel:
- D3DKMT_MOVE_RECT
- D3DKMT_PRESENT_DISPLAY_ONLY_FLAGS
- DXGK_PRESENT_DISPLAY_ONLY_PROGRESS_ID
- DXGKARG_PRESENT_DISPLAYONLY
- DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS
Requisiti
Piattaforma di destinazione |
Desktop |
Versione |
Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Libreria |
NtosKrnl.lib |
DLL |
NtosKrnl.exe |
Vedere anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per