DXGKDDI_START_DEVICE fonction de rappel (dispmprt.h)
La fonction DxgkDdiStartDevice prépare une carte d’affichage pour recevoir des demandes d’E/S.
Syntaxe
DXGKDDI_START_DEVICE DxgkddiStartDevice;
NTSTATUS DxgkddiStartDevice(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_PDXGK_START_INFO DxgkStartInfo,
[in] IN_PDXGKRNL_INTERFACE DxgkInterface,
[out] OUT_PULONG NumberOfVideoPresentSources,
[out] OUT_PULONG NumberOfChildren
)
{...}
Paramètres
[in] MiniportDeviceContext
Handle d’un bloc de contexte associé à une carte d’affichage. La fonction DxgkDdiAddDevice du pilote miniport d’affichage fournissait précédemment cette poignée au sous-système du noyau graphique DirectX.
[in] DxgkStartInfo
Pointeur vers une structure de DXGK_START_INFO qui contient les informations dont le pilote de miniport d’affichage a besoin pour l’initialisation.
[in] DxgkInterface
Pointeur vers une structure DXGKRNL_INTERFACE qui contient des pointeurs vers des fonctions, implémentées par le sous-système du noyau graphique DirectX, que le pilote de miniport d’affichage peut appeler.
[out] NumberOfVideoPresentSources
Pointeur vers une variable ULONG qui reçoit le nombre de sources vidéo présentes prises en charge par l’adaptateur d’affichage. Pour plus d’informations sur les sources de présentation vidéo, consultez Multiple Monitors et Video Present Networks.
[out] NumberOfChildren
Pointeur vers une variable ULONG qui reçoit le nombre total d’appareils enfants de l’adaptateur d’affichage représenté par MiniportDeviceContext. Ce nombre doit inclure les appareils enfants potentiels ainsi que les appareils enfants actuellement présents. Par exemple, si l’ancrage d’un ordinateur portable rend des sorties vidéo supplémentaires disponibles, ces sorties vidéo doivent être comptabilisées, que l’ordinateur portable soit actuellement ancré ou non. Pour plus d’informations sur les appareils enfants, consultez Appareils enfants de l’adaptateur d’affichage.
Valeur retournée
DxgkDdiStartDevice retourne STATUS_SUCCESS si elle réussit ; sinon, il retourne l’un des codes d’erreur définis dans Ntstatus.h.
Remarques
La fonction DxgkDdiStartDevice doit effectuer les actions suivantes :
- Enregistrez les pointeurs de fonction fournis par la structure DXGKRNL_INTERFACE passée au paramètre DxgkInterface . Enregistrez également le membre DeviceHandle de la structure DXGKRNL_INTERFACE ; vous aurez besoin de ce handle pour rappeler le sous-système du noyau graphique DirectX.
- Allouez une structure DXGK_DEVICE_INFO et appelez DxgkCbGetDeviceInformation pour renseigner les membres de cette structure, qui incluent le chemin d’accès du Registre, le PDO et une liste de ressources traduites pour l’adaptateur d’affichage représenté par MiniportDeviceContext. Enregistrez les membres sélectionnés (dont le pilote de miniport d’affichage aura besoin ultérieurement) de la structure DXGK_DEVICE_INFO dans le bloc de contexte représenté par MiniportDeviceContext.
- Mapper les ressources de mémoire dans l’espace système en appelant la fonction DxgkCbMapMemory .
- Initialisez le bloc de contexte représenté par MiniportDeviceContext avec n’importe quel état requis pour préparer le matériel à recevoir des demandes d’E/S.
- Définissez NumberOfVideoPresentSources sur le nombre de sources vidéo présentes prises en charge par l’adaptateur d’affichage qui est représenté par MiniportDeviceContext.
- Définissez NumberOfChildren sur le nombre d’appareils qui sont (ou pourraient devenir) enfants de l’adaptateur d’affichage représenté par MiniportDeviceContext.
- Activez les interruptions pour l’adaptateur d’affichage représenté par MiniportDeviceContext.
La fonction DxgkDdiStartDevice doit être paginable.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dispmprt.h |
IRQL | PASSIVE_LEVEL |