Функция IoDeleteController (ntddk.h)

Подпрограмма IoDeleteController удаляет заданный объект контроллера из системы, например при выгрузке драйвера, создавшего его.

Синтаксис

void IoDeleteController(
  [in] PCONTROLLER_OBJECT ControllerObject
);

Параметры

[in] ControllerObject

Указатель на освобождаемый объект контроллера.

Возвращаемое значение

None

Remarks

IoDeleteController освобождает память для объекта контроллера, включая расширение контроллера.

Эта подпрограмма должна вызываться при выгрузке драйвера, создавшего объект контроллера, или при возникновении неустранимой ошибки во время запуска устройства, например при невозможности правильной инициализации физического устройства.

Драйвер должен освободить определенные ресурсы, для которых драйвер предоставил хранилище в своем расширении контроллера, прежде чем вызывать IoDeleteController. Например, если драйвер сохраняет указатель на свои объекты прерывания в расширении контроллера, он должен вызвать IoDisconnectInterrupt перед IoDeleteController.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm)

См. также раздел

IoCreateController

IoDisconnectInterrupt