DXGKDDI_START_DEVICE fonction de rappel (dispmprt.h)
La fonction DxgkDdiStartDevice prépare un adaptateur 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 vers un bloc de contexte associé à un adaptateur d’affichage. La fonction d’affichage du pilote miniport DxgkDdiAddDevice précédemment fourni ce handle au sous-système du noyau graphique DirectX.
[in] DxgkStartInfo
Pointeur vers une structure DXGK_START_INFO qui contient des informations dont le pilote 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é par le sous-système du noyau graphique DirectX, que le pilote miniport d’affichage peut appeler.
[out] NumberOfVideoPresentSources
Pointeur vers une variable ULONG qui reçoit le nombre de sources présentes vidéo prises en charge par l’adaptateur d’affichage. Pour plus d’informations sur les sources de présentation vidéo, consultez Plusieurs moniteurs 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 des appareils enfants potentiels ainsi que des 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é. Pour plus d’informations sur les appareils enfants, consultez appareils enfants de l’adaptateur d’affichage.
Valeur de retour
DxgkDdiStartDevice retourne STATUS_SUCCESS si elle réussit ; sinon, elle 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 au Registre, la PDO et une liste de ressources traduites pour l’adaptateur d’affichage représenté par MiniportDeviceContext. Enregistrez les membres sélectionnés (ceux dont le pilote miniport d’affichage aura besoin ultérieurement) de la structure DXGK_DEVICE_INFO dans le bloc de contexte représenté par MiniportDeviceContext.
- Mappez les ressources 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 pour recevoir des demandes d’E/S.
- Définissez NumberOfVideoPresentSources sur le nombre de sources de présentation vidéo prises en charge par l’adaptateur d’affichage représenté par MiniportDeviceContext.
- Définissez NumberOfChildren sur le nombre d’appareils qui sont (ou peuvent 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 rendue paginable.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows Vista. |
plateforme cible | Bureau |
d’en-tête | dispmprt.h |
IRQL | PASSIVE_LEVEL |