IOCTL_INTERNAL_USB_GET_HUB_NAME IOCTL (usbioctl.h)
Die IOCTL_INTERNAL_USB_GET_HUB_NAME E/A-Anforderung wird von Treibern verwendet, um den symbolischen UNICODE-Namen für die Ziel-PDO abzurufen, wenn das PDO für einen Hub gilt. Andernfalls wird eine NULL-Zeichenfolge zurückgegeben.
Treiber können den symbolischen Namen verwenden, um zusätzliche Informationen zum Hub über Benutzermodus-E/A-Steuerelementanforderungen und WMI-Aufrufe abzurufen.
IOCTL_INTERNAL_USB_GET_HUB_NAME ist eine E/A-Steuerungsanforderung im Kernelmodus. Diese Anforderung richtet sich an den USB-Hub-PDO. Diese Anforderung muss an einem IRQL von PASSIVE_LEVEL gesendet werden.
Hauptcode
IRP_MJ_INTERNAL_DEVICE_CONTROL
Eingabepuffer
Irp->AssociatedIrp.SystemBuffer verweist auf eine USB_HUB_NAME-Struktur .
Eingabepufferlänge
Parameters.DeviceIoControl.OutputBufferLength ist die Länge des Puffers (in Bytes), der im Feld Irp-AssociatedIrp.SystemBuffer> übergeben wird.
Ausgabepuffer
Irp->AssociatedIrp.SystemBuffer wird mit dem symbolischen Namen des Stammhubs gefüllt.
Länge des Ausgabepuffers
Die Länge des symbolischen Namens des Stammhubs.
Statusblock
Ein Treiber auf niedrigerer Ebene legt Irp-IoStatus.Status> auf STATUS_SUCCESS oder den entsprechenden Fehler status fest. Irp-IoStatus.Information> wird auf die Anzahl der Bytes festgelegt, die für die USB_ROOT_HUB_NAME Struktur erforderlich sind. Wenn die Anforderung fehlschlägt, kann der Treiber diese Informationen verwenden, um die Anforderung mit einem ausreichend großen Puffer erneut zu übermitteln.
Anforderungen
Anforderung | Wert |
---|---|
Header | usbioctl.h (include Usbioctl.h) |