USB_NODE_CONNECTION_INFORMATION_EX (Structures)
Last changed: egray1@hot.rr.com-24.26.210.211

.
Summary
Retrieve information about a port connection on a USB Hub

C# Definition:

[StructLayout(LayoutKind.Sequential, Pack=1)]
struct USB_NODE_CONNECTION_INFORMATION_EX
{
   public int ConnectionIndex;
   public USB_DEVICE_DESCRIPTOR DeviceDescriptor;
   public byte CurrentConfigurationValue;
   public byte Speed;
   public byte DeviceIsHub;
   public short DeviceAddress;
   public int NumberOfOpenPipes;
   public int ConnectionStatus;
   //public IntPtr PipeList;
}

VB Definition:

Structure USB_NODE_CONNECTION_INFORMATION_EX
   Public TODO
End Structure

User-Defined Field Types:

None.

Notes:

The use of a zero-length array at the end of the structure makes using this in C#/VB.Net a bit tricky. You should allways allocate sufficient buffer space beyond the true size of the structure. The use of "pack=1" may be required to accurately find the "end" of the structure where the unmanaged buffer starts.

typedef struct _USB_NODE_CONNECTION_INFORMATION_EX {
   ULONG  ConnectionIndex;
   USB_DEVICE_DESCRIPTOR  DeviceDescriptor;
   UCHAR  CurrentConfigurationValue;
   UCHAR  Speed;
   BOOLEAN  DeviceIsHub;
   USHORT  DeviceAddress;
   ULONG  NumberOfOpenPipes;
   USB_CONNECTION_STATUS  ConnectionStatus;
   USB_PIPE_INFO  PipeList[0];
} USB_NODE_CONNECTION_INFORMATION_EX, *PUSB_NODE_CONNECTION_INFORMATION_EX;

Documentation