IoDeleteController-Funktion (ntddk.h)
Die IoDeleteController-Routine entfernt ein bestimmtes Controllerobjekt aus dem System, z. B. wenn der Treiber, der es erstellt hat, entladen wird.
Syntax
void IoDeleteController(
[in] PCONTROLLER_OBJECT ControllerObject
);
Parameter
[in] ControllerObject
Zeiger auf das controller-Objekt, das freigegeben werden soll.
Rückgabewert
Keine
Bemerkungen
IoDeleteController gibt die Zuordnung des Speichers für das Controllerobjekt einschließlich der Controllererweiterung auf.
Diese Routine muss aufgerufen werden, wenn ein Treiber, der ein Controllerobjekt erstellt hat, entladen wird oder wenn beim Starten des Geräts ein schwerwiegender Fehler auftritt, z. B. wenn ein physisches Gerät nicht ordnungsgemäß initialisiert werden kann.
Ein Treiber muss bestimmte Ressourcen freigeben, für die der Treiber Speicher in seiner Controllererweiterung bereitgestellt hat, bevor IoDeleteController aufgerufen wird. Wenn der Treiber beispielsweise den Zeiger auf seine Interruptobjekte in der Controllererweiterung speichert, muss er IoDisconnectInterrupt vor IoDeleteController aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | ntddk.h (include Ntddk.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm) |