Partager via


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)

Voir aussi

DRIVER_OBJECT

IoRegisterDriverReinitialization

réinitialiser