Écriture d’une routine DriverEntry

Chaque pilote doit avoir une routine DriverEntry , qui initialise les structures de données et les ressources à l’échelle du pilote. Le gestionnaire d’E/S appelle la routine DriverEntry lorsqu’il charge le pilote.

Dans un pilote qui prend en charge Plug-and-Play (PnP), comme tous les pilotes le doivent, la routine DriverEntry est responsable de l’initialisation du pilote, tandis que la routine AddDevice (et, éventuellement, la routine de répartition qui gère une demande de IRP_MN_START_DEVICE PnP) est responsable de l’initialisation de l’appareil. L’initialisation du pilote comprend l’exportation des autres points d’entrée du pilote, l’initialisation de certains objets que le pilote utilise et la configuration de diverses ressources système par pilote. (Les pilotes non PnP ont des exigences sensiblement différentes, comme décrit dans le Kit de développement de pilotes [DDK] pour Microsoft Windows NT 4.0 et versions antérieures.)

Les routines DriverEntry sont appelées dans le contexte d’un thread système à IRQL = PASSIVE_LEVEL.

Une routine DriverEntry peut être paginable et doit se trouver dans un segment INIT afin d’être ignorée. Utilisez une directive pragma alloc_text , comme illustré dans les exemples de pilotes fournis avec le Kit de pilotes Windows (WDK).

Cette section contient les rubriques suivantes :

Responsabilités requises de DriverEntry

Responsabilités facultatives de DriverEntry

Valeurs de retour driverEntry