IOCTL_INTERNAL_USB_GET_HUB_NAME IOCTL (usbioctl.h)
驱动程序使用 IOCTL_INTERNAL_USB_GET_HUB_NAME I/O 请求来检索目标 PDO 的 UNICODE 符号名称(如果 PDO 用于中心)。 否则将返回 NULL 字符串。
驱动程序可以使用符号名称通过用户模式 I/O 控制请求和 WMI 调用检索有关中心的其他信息。
IOCTL_INTERNAL_USB_GET_HUB_NAME 是内核模式 I/O 控制请求。 此请求面向 USB 中心 PDO。 此请求必须在PASSIVE_LEVEL的 IRQL 发送。
主要代码
IRP_MJ_INTERNAL_DEVICE_CONTROL
输入缓冲区
Irp->AssociatedIrp.SystemBuffer 指向 USB_HUB_NAME 结构。
输入缓冲区长度
Parameters.DeviceIoControl.OutputBufferLength 是在 Irp->AssociatedIrp.SystemBuffer 字段中传递的缓冲区长度(以字节为单位)。
输出缓冲区
Irp->AssociatedIrp.SystemBuffer 填充根中心的符号名称。
输出缓冲区长度
根中心的符号名称的长度。
状态块
较低级别的驱动程序 Irp->IoStatus.Status 设置为STATUS_SUCCESS或相应的错误状态。 它将 Irp->IoStatus.Information 设置为保存USB_ROOT_HUB_NAME结构所需的字节数。 如果请求失败,驱动程序可以使用此信息通过足够大的缓冲区重新提交请求。
要求
要求 | 价值 |
---|---|
标头 | usbioctl.h (包括 Usbioctl.h) |