IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL (usbioctl.h)
IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME I/O 控制请求检索与连接到指定端口的设备关联的驱动程序注册表项名称。
IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME 是用户模式 I/O 控制请求。 此请求面向 USB 集线器设备 (GUID_DEVINTERFACE_USB_HUB) 。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer 成员指向用户分配的USB_NODE_CONNECTION_DRIVERKEY_NAME结构。 输入时,此结构的 ConnectionIndex 成员包含设备连接到的端口编号。
输入缓冲区长度
USB_NODE_CONNECTION_DRIVERKEY_NAME结构的大小。
输出缓冲区
输出时,AssociatedIrp.SystemBuffer 中USB_NODE_CONNECTION_DRIVERKEY_NAME结构的 DriverKeyName 成员包含与连接到 ConnectionIndex 指示的端口的设备关联的驱动程序密钥名称。
ActualLength 成员指示驱动程序密钥名称的长度(以字节为单位)。 Parameters.DeviceIoControl.OutputBufferLength 成员指示整个USB_NODE_CONNECTION_DRIVERKEY_NAME结构的大小(以字节为单位)。
输出缓冲区长度
USB_NODE_CONNECTION_DRIVERKEY_NAME结构的大小。
状态块
如果请求成功,USB 堆栈会将 Irp-IoStatus.Status> 设置为STATUS_SUCCESS。 否则,USB 堆栈会将 “状态” 设置为适当的错误条件,例如STATUS_INVALID_PARAMETER或STATUS_INSUFFICIENT_RESOURCES。
如果调用方分配的输出缓冲区足够大,足以容纳所有输出数据, 则 IoStatus.Information 将等于 ActualLength 的值。 如果输出缓冲区足够大,足以容纳所有输出数据, 则 IoStatus.Information 将等于 sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME)
。
要求
要求 | 值 |
---|---|
Header | usbioctl.h (包括 Usbioctl.h) |