Поделиться через


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

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

Синтаксис

PCONTROLLER_OBJECT IoCreateController(
  [in] ULONG Size
);

Параметры

[in] Size

Указывает количество байтов, выделяемых для расширения контроллера.

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

IoCreateController возвращает указатель на объект контроллера или указатель NULL, если память не может быть выделена для запрошенного расширения устройства.

Замечания

Объект контроллера обычно представляет физический контроллер устройства с подключенными устройствами, на которых один драйвер выполняет запросы ввода-вывода. Расширение контроллера выделяется из непагрегированного пула и гарантируется доступность любой подпрограммой драйвера и в произвольном контексте потока.

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

Если IoCreateController возвращает NULL, драйвер должен завершиться сбоем запуска устройства.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Всеобщий
заголовка ntddk.h (include Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm)

См. также

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

IoFreeController