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.SystemBufferUSB_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)。
要求
| 要求 | 价值 |
|---|---|
| 标头 | usbioctl.h (包括 Usbioctl.h) |