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)

Voir aussi

IoCreateController

IoDisconnectInterrupt