USB_NODE_CONNECTION_INFORMATION 構造体は、USB ポートと接続されているデバイスに関する情報を取得する IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 要求と共に使用されます。
構文
typedef struct _USB_NODE_CONNECTION_INFORMATION {
ULONG ConnectionIndex;
USB_DEVICE_DESCRIPTOR DeviceDescriptor;
UCHAR CurrentConfigurationValue;
BOOLEAN LowSpeed;
BOOLEAN DeviceIsHub;
USHORT DeviceAddress;
ULONG NumberOfOpenPipes;
USB_CONNECTION_STATUS ConnectionStatus;
USB_PIPE_INFO PipeList[0];
} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;
メンバーズ
ConnectionIndex
ポートの数を指定する 1 以上の値。
DeviceDescriptor
列挙中に接続されたデバイスによって返される USB デバイス記述子を報告する USB_DEVICE_DESCRIPTOR 構造体。
CurrentConfigurationValue
指定されたポートに接続されているデバイスの現在の構成を指定するために SetConfiguration 要求で使用される ID を格納します。 この値の説明については、USB ドキュメント ライブラリ で使用可能なユニバーサル シリアル バス 3.1 仕様のセクション 9.4.7参照してください。
LowSpeed
ポートとその接続されたデバイスが低速で動作しているかどうかを示すブール値。 TRUE は、ポートとその接続されたデバイスが現在低速で動作していることを示します。 FALSE は、それ以外の場合を示します。
DeviceIsHub
ポートに接続されているデバイスがハブであるかどうかを示すブール値。 TRUE 場合、ポートに接続されているデバイスはハブです。 FALSE 場合、デバイスはハブではありません。
DeviceAddress
ポートに接続されているデバイスの USB 割り当てバス相対アドレス。
NumberOfOpenPipes
ポートに関連付けられている開いている USB パイプの数。
ConnectionStatus
接続の状態を示す USB_CONNECTION_STATUS型指定された列挙子。
PipeList[0]
ポートに関連付けられている開いているパイプを記述する USB_PIPE_INFO 構造体の配列。 パイプの説明には、パイプのスケジュール オフセットと、関連付けられているエンドポイント記述子が含まれます。 この情報を使用して、帯域幅の使用量を計算できます。
備考
USB ポートに接続されているデバイスがない場合、IOCTL_USB_GET_NODE_CONNECTION_INFORMATION はポートに関する情報のみを返します。 デバイスがポートに接続されている場合、IOCTL_USB_GET_NODE_CONNECTION_INFORMATION はポートと接続されているデバイスの両方に関する情報を返します。
USB_NODE_CONNECTION_INFORMATION_EX 構造体は、USB_NODE_CONNECTION_INFORMATIONの拡張バージョンです。 1 つのメンバーを除き、2 つの構造体は同じです。 USB_NODE_CONNECTION_INFORMATION_EXでは、LowSpeed メンバーは Speed メンバーに置き換えられます。 LowSpeed はブール値であるため、TRUE 場合、デバイスは低速になります。 FALSE 場合、デバイスは高速または全速度です。 したがって、USB_NODE_CONNECTION_INFORMATION 構造は、高速度と全速度を区別できません。
USB_NODE_CONNECTION_INFORMATION_EX 構造体の Speed メンバーは UCHAR であり、USB_DEVICE_SPEED 列挙子のいずれかの値を指定できます。
必要条件
要件 | 価値 |
---|---|
ヘッダー | usbioctl.h (Usbioctl.h を含む) |
関連項目
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX