Fonction IoRegisterBootDriverReinitialization (ntddk.h)

La routine IoRegisterBootDriverReinitialization est appelée par un pilote de démarrage pour inscrire la routine de réinitialisation du pilote auprès du gestionnaire d’E/S à appeler une fois que tous les appareils ont été énumérés et démarrés.

Syntaxe

void IoRegisterBootDriverReinitialization(
  [in]           PDRIVER_OBJECT       DriverObject,
  [in]           PDRIVER_REINITIALIZE DriverReinitializationRoutine,
  [in, optional] PVOID                Context
);

Paramètres

[in] DriverObject

Pointeur vers l’objet driver pour que le pilote de démarrage soit réinitialisé.

[in] DriverReinitializationRoutine

Pointeur vers la routine Réinitialiser le pilote.

[in, optional] Context

Pointeur de contexte facultatif à passer à la routine de réinitialisation du pilote.

Valeur de retour

None

Remarques

Un pilote de démarrage appelle normalement IoRegisterBootDriverReinitialization à partir de sa routine DriverEntry , qui est exécutée lors de l’initialisation du pilote de démarrage. IoRegisterBootDriverReinitialization enregistre la routine de rappel de réinitialisation du pilote à appeler par le gestionnaire d’E/S une fois que tous les appareils ont été énumérés et démarrés. Le DriverReinitializationRoutine est exécuté dans un thread système à l’emplacement IRQL = PASSIVE_LEVEL.

Un pilote doit appeler IoRegisterBootDriverReinitialization uniquement si sa routine DriverEntry retourne STATUS_SUCCESS.

Si DriverReinitializationRoutine utilise le Registre, la routine DriverEntry doit inclure dans le paramètre Context de IoRegisterBootDriverReinitialization une copie de la chaîne vers laquelle pointe le propre paramètre RegistryPath de DriverEntry.

La routine DriverEntry ne peut appeler IoRegisterBootDriverReinitialization qu’une seule fois. Si la routine de réinitialisation doit être exécutée plusieurs fois, DriverReinitializationRoutine peut appeler IoRegisterBootDriverReinitialization autant de fois que nécessaire, en utilisant le paramètre Count pour suivre le nombre d’appels de DriverReinitializationRoutine .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête ntddk.h (inclure Ntifs.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Voir aussi

DRIVER_OBJECT

IoRegisterDriverReinitialization

Réinitialiser