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


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

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

Синтаксис

void IoAllocateController(
  [in]           PCONTROLLER_OBJECT ControllerObject,
  [in]           PDEVICE_OBJECT     DeviceObject,
  [in]           PDRIVER_CONTROL    ExecutionRoutine,
  [in, optional] PVOID              Context
);

Параметры

[in] ControllerObject

Указатель на созданный драйвером объект контроллера, обычно представляющий физический контроллер, выделенный для операции ввода-вывода на подключенном устройстве.

[in] DeviceObject

Указатель на объект устройства, представляющий целевое устройство текущего IRP.

[in] ExecutionRoutine

Указатель на подпрограмму, предоставляемую драйвером, ControllerControl.

[in, optional] Context

Указатель на контекст, определяемый драйвером, передается в подпрограмму контроллер а контроллера драйвера при вызове.

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

Никакой

Замечания

Эта подпрограмма резервирует монопольный доступ к аппаратному контроллеру для указанного устройства.

Подпрограмма контроллера ControllerControl возвращает значение, указывающее, остается ли контроллер выделенным для устройства, либо DeallocateObject или KeepObject. Если он возвращает KeepObject, драйвер должен впоследствии вызвать IoFreeController, чтобы освободить объект контроллера.

Требования

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

См. также

ControllerControl

IoCreateController

IoDeleteController

IoFreeController