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 tous les appareils é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 de pilote pour que le pilote de démarrage soit réinitialisé.
[in] DriverReinitializationRoutine
Pointeur vers la routine Réinitialiser du pilote.
[in, optional] Context
Pointeur de contexte facultatif à passer à la routine de réinitialisation du pilote.
Valeur de retour
Aucun
Remarques
Un pilote de démarrage appelle normalement IoRegisterBootDriverReinitialization à partir de sa routine DriverEntry, qui est exécutée pendant l’initialisation du pilote de démarrage. IoRegisterBootDriverReinitialization inscrit 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 à IRQL = PASSIVE_LEVEL.
Un pilote doit appeler IoRegisterBootDriverReinitialization uniquement si sa routine DriverEntry retourne STATUS_SUCCESS.
Si l'DriverReinitializationRoutine utilise le Registre, la routine DriverEntry doit inclure dans IoRegisterBootDriverReinitializationparamètre Context une copie de la chaîne dans laquelle DriverEntry's own RegistryPath parameter points.
La routine DriverEntry peut appeler IoRegisterBootDriverReinitialization une seule fois. Si la routine de réinitialisation doit être exécutée plusieurs fois, la DriverReinitializationRoutine peut appeler IoRegisterBootDriverReinitialization autant de fois que nécessaire, à l’aide du paramètre Count pour suivre le nombre de fois où le DriverReinitializationRoutine a été appelé.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
plateforme cible | Universel |
d’en-tête | ntddk.h (include 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) |