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)

Weitere Informationen

IoCreateController

IoDisconnectInterrupt