Partager via


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 :

    HwVidFindAdapter

    HwVidInitialize

    HwVidStartIO

    HwVidInterrupt

    HwVidQueryInterface

    HwVidGetVideoChildDescriptor

    HwVidGetPowerState

    HwVidSetPowerState

  • 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

HwVidFindAdapter

HwVidLegacyResources

VIDEO_HW_INITIALIZATION_DATA

VideoPortInitialize

VideoPortVerifyAccessRanges

VideoPortZeroMemory