IoCreateController 函数 (ntddk.h)

IoCreateController 例程为控制器对象分配内存,并使用驱动程序确定大小的控制器扩展初始化控制器对象。

语法

PCONTROLLER_OBJECT IoCreateController(
  [in] ULONG Size
);

参数

[in] Size

指定要为控制器扩展分配的字节数。

返回值

如果无法为请求的设备扩展分配内存,IoCreateController 将返回指向控制器对象的指针或 NULL 指针。

注解

控制器对象通常表示一个物理设备控制器,其中包含单个驱动程序执行 I/O 请求的附加设备。 控制器扩展是从非分页池分配的,可以保证任何驱动程序例程和任意线程上下文中都可访问。

控制器对象用于将 I/O 操作同步到 I/O 请求可以同时传入单个整体驱动程序的目标设备。 驱动程序还可能使用控制器对象通过设备通道同步操作。

如果 IoCreateController 返回 NULL,则驱动程序应无法启动设备。

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 ntddk.h (包括 Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlIoPassive2 (wdm) PowerIrpDDis (wdm)

另请参阅

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

IoFreeController