DXGKDDI_ADD_DEVICE fonction de rappel (dispmprt.h)
La fonction DxgkDdiAddDevice crée un bloc de contexte pour un adaptateur d’affichage et retourne un handle qui représente l’adaptateur d’affichage.
Syntaxe
DXGKDDI_ADD_DEVICE DxgkddiAddDevice;
NTSTATUS DxgkddiAddDevice(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[out] OUT_PPVOID MiniportDeviceContext
)
{...}
Paramètres
[in] PhysicalDeviceObject
Pointeur vers un objet d’appareil physique (PDO) qui identifie un adaptateur d’affichage.
[out] MiniportDeviceContext
Pointeur vers une variable qui reçoit un handle, créé par le pilote miniport d’affichage, qui représente l’adaptateur d’affichage identifié par PhysicalDeviceObject. Le pilote miniport d’affichage peut retourner NULL dans ce paramètre pour indiquer qu’il ne prendra pas en charge l’adaptateur d’affichage identifié par PhysicalDeviceObject.
Valeur de retour
DxgkDdiAddDevice retourne STATUS_SUCCESS si elle réussit ; sinon, elle retourne l’un des codes d’erreur définis dans Ntstatus.h.
Remarques
La fonction DxgkDdiAddDevice alloue un bloc de contexte privé associé à l’adaptateur d’affichage identifié par PhysicalDeviceObject. Vous pouvez considérer le handle retourné dans MiniportDeviceContext en tant que handle de l’adaptateur d’affichage ou en tant que handle pour le bloc de contexte associé à l’adaptateur d’affichage. Le sous-système du noyau graphique DirectX (Dxgkrnl.sys) fournit le handle dans les appels suivants au pilote miniport d’affichage. La liste suivante fournit des exemples de différents composants de Dxgkrnl.sys passant le handle aux fonctions implémentées par le pilote miniport d’affichage.
Le pilote de port d’affichage fournit le handle dans le paramètre MiniportDeviceContext de la fonction DxgkDdiStartDevice.
Le gestionnaire VidPN fournit le handle dans le paramètre hAdapter de la fonction DxgkDdiIsSupportedVidPn.
Le cœur graphique DirectX fournit le handle dans le paramètre hAdapter de la fonction DxgkDdiQueryAdapterInfo.
Ne soyez pas confondu par le fait que parfois le handle est nommé MiniportDeviceContext et parfois il est nommé hAdapter. En outre, ne confondez pas ce handle avec le paramètre hDevice transmis à certaines fonctions de pilote miniport d’affichage.
DxgkDdiAddDevice est appelé pour un appareil à la fois en série. Son comportement est identique au rappel standard DRIVER_ADD_DEVICE pour les pilotes en mode noyau WDM.
Certaines cartes d’adaptateur d’affichage ont deux fonctions PCI ou plus qui jouent le rôle de l’adaptateur d’affichage. Par exemple, certaines cartes plus anciennes implémentent plusieurs vues en ayant une fonction PCI distincte pour chaque vue. Le pilote de port d’affichage appelle DxgkDdiAddDevice une fois pour chacune de ces fonctions PCI, auquel moment le pilote de miniport d’affichage peut indiquer qu’il prend en charge la fonction PCI (en définissant MiniportDeviceContext sur une valeur différente de zéro) ou qu’il ne prend pas en charge la fonction PCI (en définissant MiniportDeviceContext sur NULL). Pour obtenir des informations sur une fonction PCI particulière, le pilote miniport d’affichage peut passer PhysicalDeviceObject à IoGetDeviceProperty.
Dans DxgkDdiRemoveDevice, libérez votre bloc de contexte et toutes les autres ressources que vous allouez pendant DxgkDdiAddDevice .
La fonction DxgkDdiAddDevice doit être rendue paginable.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
plateforme cible | Bureau |
d’en-tête | dispmprt.h |
IRQL | PASSIVE_LEVEL |