DriverEntry of Video Miniport Driver function
DriverEntry est le point d’entrée initial dans le pilote de miniport vidéo.
Syntaxe
ULONG DriverEntry(
_In_ PVOID Context1,
_In_ PVOID Context2
);
Paramètres
Context1 [in] Pointeur vers une valeur de contexte avec laquelle le pilote miniport doit appeler VideoPortInitialize. Cette valeur de contexte identifie l’objet pilote créé par le système pour ce pilote miniport.
Context2 [in] Pointeur vers une deuxième valeur de contexte avec laquelle le pilote miniport doit appeler VideoPortInitialize. Cette valeur de contexte identifie le chemin d’accès du Registre pour ce pilote miniport.
Valeur retournée
DriverEntry retourne la valeur retournée par VideoPortInitialize.
Remarques
Chaque pilote miniport doit avoir une fonction explicitement nommée DriverEntry pour être chargé. DriverEntry est appelé directement par le système d’E/S.
DriverEntry doit effectuer les étapes suivantes :
Allouez de la mémoire sur la pile pour une structure VIDEO_HW_INITIALIZATION_DATA , puis appelez VideoPortZeroMemory pour l’initialiser zéro.
Renseignez les valeurs spécifiques au pilote et à l’adaptateur dans les membres VIDEO_HW_INITIALIZATION_DATA, y compris les points d’entrée du pilote miniport. Les points d’entrée suivants doivent être définis sur une routine fournie par le pilote miniport :
Si le matériel du pilote prend en charge les ressources héritées, le pilote doit les signaler. DriverEntry doit effectuer les opérations suivantes si la liste de ressources est connue au moment de la compilation du pilote :
- Revendiquer et signaler toutes ces ressources dans les membres HwLegacyResourceList et HwLegacyResourceCount de la structure VIDEO_HW_INITIALIZATION_DATA . Les ressources héritées sont celles qui ne sont pas répertoriées dans l’espace de configuration PCI de l’appareil, mais qui sont décodées par l’appareil.
- Renseignez le champ RangePassive en conséquence pour chaque structure VIDEO_ACCESS_RANGE définie dans le pilote miniport.
Si la liste des ressources héritées ne peut pas être déterminée avant l’exécution, le pilote doit plutôt implémenter une fonction HwVidLegacyResources pour les signaler.
Appelez VideoPortInitialize, en passant Context1 et Context2 comme deux premiers paramètres, un pointeur vers la structure VIDEO_HW_INITIALIZATION_DATA comme troisième paramètre et NULL comme quatrième paramètre.
DriverEntry doit propager la valeur retournée par VideoPortInitialize à l’appelant.
Si DriverEntry réclame des ressources, il doit inclure uniquement les ressources que le matériel décode, mais qui ne sont pas revendiquées par PCI. Le pilote miniport peut « récupérer » ces ressources héritées dans les appels suivants à VideoPortVerifyAccessRanges ; Toutefois, le pilote de port vidéo ignore simplement les demandes de ces ressources précédemment revendiquées. La gestion de l’alimentation et l’ancrage sont désactivés dans le système si le pilote miniport tente de revendiquer une plage d’accès héritée dans VideoPortVerifyAccessRanges qui n’a pas été précédemment revendiquée dans le membre HwLegacyResourceList de la structure VIDEO_HW_INITIALIZATION_DATA pendant DriverEntry (ou dans HwVidLegacyResources, si implémenté).
Pour les pilotes Microsoft Windows 2000 et versions ultérieures qui prennent également en charge les ordinateurs exécutant Windows NT 4.0, les constantes de configuration matérielle sont définies dans video.h. Ces constantes sont décrites dans le tableau suivant.
Constant | Signification |
---|---|
SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO |
Taille, en octets, de la structure VIDEO_PORT_CONFIG_INFO Windows NT 4.0. |
SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA |
Taille, en octets, de la structure de VIDEO_HW_INITIALIZATION_DATA Windows NT 4.0. Si VideoPortInitialize échoue, le pilote de miniport vidéo doit définir le membre HwInitDataSize de la structure VIDEO_HW_INITIALIZATION_DATA sur la taille de la version Windows 2000 (et ultérieure) de cette structure ou de la version Windows NT 4.0. Choisissez la taille de structure appropriée pour correspondre à la version du système d’exploitation sur laquelle le pilote miniport s’exécutera. Le pilote de miniport vidéo doit ensuite appeler à nouveau VideoPortInitialize . Pour obtenir un exemple d’utilisation, consultez les exemples de pilotes de miniport vidéo qui ont été inclus dans le Kit de développement de pilotes Windows (DDK). |
SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA |
Taille, en octets, de la structure VIDEO_HW_INITIALIZATION_DATA Windows 2000 et versions ultérieures. |
SIZE_OF_WXP_VIDEO_HW_INITIALIZATION_DATA |
Taille, en octets, de la structure VIDEO_HW_INITIALIZATION_DATA Windows Vista et versions ultérieures . |
SIZE_OF_WXP_VIDEO_PORT_CONFIG_INFO |
Taille, en octets, de la structure de VIDEO_PORT_CONFIG_INFO Windows Vista. |
DriverEntry doit être rendu paginable.
Configuration requise
Plateforme cible |
Desktop (Expérience utilisateur) |
En-tête |
Video.h (incluez Video.h) |
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