DriverEntry de la fonction Display Miniport Driver
La fonction DriverEntry fournit au sous-système du noyau graphique Microsoft DirectX un ensemble de pointeurs vers des fonctions implémentées par le pilote miniport d’affichage.
Syntaxe
NTSTATUS DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
);
Paramètres
DriverObject [in] Pointeur vers une structure de DRIVER_OBJECT qui représente le pilote formé par la paire de pilotes (miniport d’affichage, port d’affichage).
RegistryPath [in] Pointeur vers une structure UNICODE_STRING qui fournit le chemin d’accès à la clé de Registre du pilote.
Valeur retournée
DriverEntry appelle DxgkInitialize et doit retourner la valeur retournée par DxgkInitialize.
Remarques
DriverEntry doit effectuer les étapes suivantes :
Allouez une structure DRIVER_INITIALIZATION_DATA et définissez son membre Version sur DXGKDDI_INTERFACE_VERSION, qui est défini dans Dispmprt.h.
Renseignez les membres restants de la structure DRIVER_INITIALIZATION_DATA avec des pointeurs vers les fonctions suivantes, qui sont implémentées par le pilote de miniport d’affichage.
- 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 (facultatif)
- 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
Passez DriverObject, RegistryPath et la structure DRIVER_INITIALIZATION_DATA renseignée à DxgkInitialize.
Retourne la valeur retournée par DxgkInitialize.
La structure DRIVER_INITIALIZATION_DATA n’a pas besoin de rester en mémoire après le retour de DriverEntry .
DriverEntry doit être rendu paginable.
Pour l’interface kmDOD (display-only driver) en mode noyau, la structure KMDDOD_INITIALIZATION_DATA répertorie toutes les fonctions qui peuvent être implémentées par un KMDOD. Toutes ces fonctions, à l’exception de la fonction DxgkDdiPresentDisplayOnly , peuvent également être implémentées par un pilote de miniport complet. La fonction DriverEntry du pilote d’affichage seul en mode noyau (KMDOD) fournit des pointeurs de fonction vers le pilote de port d’affichage en remplissant tous les membres d’une structure KMDDOD_INITIALIZATION_DATA, puis en passant cette structure à la fonction DxgkInitializeDisplayOnlyDriver .
Notez que si un KMDOD ne prend pas en charge la fonctionnalité de contrôle VSync, il ne doit pas implémenter certaines fonctions. Consultez Économiser de l’énergie avec le contrôle VSync.
Les structures et l’énumération suivantes sont également utilisées avec les pilotes d’affichage uniquement en mode noyau :
- D3DKMT_MOVE_RECT
- D3DKMT_PRESENT_DISPLAY_ONLY_FLAGS
- DXGK_PRESENT_DISPLAY_ONLY_PROGRESS_ID
- DXGKARG_PRESENT_DISPLAYONLY
- DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS
Configuration requise
Plateforme cible |
Desktop (Expérience utilisateur) |
Version |
Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
Bibliothèque |
NtosKrnl.lib |
DLL |
NtosKrnl.exe |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour