IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 IOCTL (usbioctl.h)

Kontrol I/O IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 dikirim oleh aplikasi untuk mengambil informasi tentang protokol yang didukung oleh port USB tertentu pada hub. Permintaan ini juga mengambil kemampuan kecepatan port.

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 adalah permintaan kontrol I/O mode pengguna. Permintaan ini menargetkan perangkat hub Universal Serial Bus (USB) (GUID_DEVINTERFACE_USB_HUB).

Kode utama

IRP_MJ_DEVICE_CONTROL

Buffer input

AssociatedIrp.SystemBuffer menunjuk ke struktur USB_NODE_CONNECTION_INFORMATION_EX_V2 yang dialokasikan penelepon.

Pada input, pemanggil harus mengatur anggota struktur sebagai berikut:

  • Pemanggil harus menentukan nomor port di anggota ConnectionIndex . ConnectionIndex harus berupa nilai dalam rentang 1 hingga n, di mana n adalah nomor port tertinggi yang diambil dalam permintaan kontrol I/O IOCTL_USB_GET_HUB_INFORMATION_EX sebelumnya.
  • Pemanggil harus mengatur bendera protokol di anggota SupportedUsbProtocols (lihat USB_PROTOCOLS). Dalam Windows 8, SupportedUsbProtocols.Usb300 harus diatur ke 1. Jika tidak, permintaan gagal dengan kode kesalahan STATUS_INVALID_PARAMETER.
  • Pemanggil harus mengatur anggota Panjang ke ukuran, dalam byte, dari buffer yang dialokasikan pemanggil yang dialokasikan yang ditujukan oleh AssociatedIrp.SystemBuffer. Ukuran buffer harus sizeof (USB_NODE_CONNECTION_INFORMATION_EX_V2).

Panjang buffer input

Anggota Parameters.DeviceIoControl.InputBufferLength menunjukkan ukuran, dalam byte, dari buffer yang dialokasikan pemanggil yang ukurannya sama dengan sizeof(USB_NODE_CONNECTION_INFORMATION_EX_V2).

Buffer output

Pada output, struktur USB_NODE_CONNECTION_INFORMATION_EX_V2 yang diacu oleh AssociatedIrp.SystemBuffer diisi dengan informasi tentang perangkat yang terpasang.

Panjang buffer output

Anggota Parameters.DeviceIoControl.OutputBufferLength menunjukkan ukuran, dalam byte, dari buffer output SystemBuffer.

Blok status

Tumpukan USB mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS jika permintaan berhasil. Jika tidak, tumpukan driver USB mengatur Status ke kondisi kesalahan yang sesuai, seperti STATUS_INVALID_PARAMETER atau STATUS_INSUFFICIENT_RESOURCES.

Keterangan

Permintaan IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 meminta hub port yang ditentukan untuk mendapatkan informasi tentang protokol yang didukung oleh port dan kemampuan kecepatan operasi, jika perangkat dilampirkan ke port.

Jika permintaan berhasil diselesaikan, anggota USB_NODE_CONNECTION_INFORMATION_EX_V2 SupportedUsbProtocols.Usb200 menunjukkan protokol yang didukung oleh port. Misalnya, jika port mendukung protokol sinyal yang ditentukan oleh spesifikasi USB 2.0, maka SupportedUsbProtocols.Usb200 diatur ke 1.

Perhatikan bahwa SupportedUsbProtocols.Usb110 selalu diatur ke 1 untuk hub berkecepatan tinggi dan berkecepatan penuh. Itu karena hub berkecepatan tinggi mendukung protokol USB 1.1 melalui transaksi terpisah dan penerjemah transaksi. SupportedUsbProtocols.Usb110 tidak pernah diatur ke 1 untuk port USB 3.0.

Selain itu, permintaan juga menentukan apakah port dan perangkat yang terpasang mampu beroperasi di SuperSpeed. Jika ada, anggota Flags.DeviceIsSuperSpeedCapableOrHigher diatur ke 1. Jika perangkat yang terpasang pada port saat ini beroperasi di SuperSpeed, deviceIsOperatingAtSuperSpeedOrHigher diatur ke 1.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Server minimum yang didukung Tidak ada yang didukung
Header usbioctl.h (termasuk Usbioctl.h)