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) |