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) |