Fonction IoDeleteController (ntddk.h)
La routine IoDeleteController supprime un objet contrôleur donné du système, par exemple, lorsque le pilote qui l’a créé est déchargé.
Syntaxe
void IoDeleteController(
[in] PCONTROLLER_OBJECT ControllerObject
);
Paramètres
[in] ControllerObject
Pointeur vers l’objet contrôleur à libérer.
Valeur de retour
None
Remarques
IoDeleteController libère la mémoire de l’objet contrôleur, y compris l’extension du contrôleur.
Cette routine doit être appelée lorsqu’un pilote qui a créé un objet contrôleur est en cours de déchargement ou quand le pilote rencontre une erreur irrécupérable au démarrage de l’appareil, par exemple s’il n’est pas en mesure d’initialiser correctement un appareil physique.
Un pilote doit libérer certaines ressources pour lesquelles le pilote a fourni du stockage dans son extension de contrôleur avant d’appeler IoDeleteController. Par exemple, si le pilote stocke le pointeur vers ses objets d’interruption dans l’extension du contrôleur, il doit appeler IoDisconnectInterrupt avant IoDeleteController.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | ntddk.h (incluez Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm) |