IOCTL_INTERNAL_USB_GET_HUB_NAME IOCTL (usbioctl.h)
The IOCTL_INTERNAL_USB_GET_HUB_NAME I/O request is used by drivers to retrieve the UNICODE symbolic name for the target PDO if the PDO is for a hub. Otherwise a NULL string is returned.
Drivers can use the symbolic name to retrieve additional information about the hub through user-mode I/O control requests and WMI calls.
IOCTL_INTERNAL_USB_GET_HUB_NAME is a kernel-mode I/O control request. This request targets the USB hub PDO. This request must be sent at an IRQL of PASSIVE_LEVEL.
Major code
IRP_MJ_INTERNAL_DEVICE_CONTROL
Input buffer
Irp->AssociatedIrp.SystemBuffer points to a USB_HUB_NAME structure.
Input buffer length
Parameters.DeviceIoControl.OutputBufferLength is the length of the buffer (in bytes) passed in the Irp->AssociatedIrp.SystemBuffer field.
Output buffer
Irp->AssociatedIrp.SystemBuffer is filled with the root hub's symbolic name.
Output buffer length
The length of the root hub's symbolic name.
Status block
A lower-level driver sets Irp->IoStatus.Status to STATUS_SUCCESS or the appropriate error status. It will set Irp->IoStatus.Information to the number of bytes required to hold the USB_ROOT_HUB_NAME structure. If the request fails, the driver can use this information to resubmit the request with a big enough buffer.
Requirements
Requirement | Value |
---|---|
Header | usbioctl.h (include Usbioctl.h) |