@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: Used with DeviceIoControl and [IOCTL_USB_GET_NODE_INFORMATION] to get information about a USB Hub !!!!C# Definition: [StructLayout(LayoutKind.Sequential)] struct USB_HUB_INFORMATION { public USB_HUB_DESCRIPTOR HubDescriptor; public byte HubIsBusPowered; } !!!!VB Definition: Structure USB_HUB_INFORMATION Public TODO End Structure !!!!User-Defined Field Types: None. !!!!Notes: Often nested inside a USB_NODE_INFORMATION structure typedef struct _USB_HUB_INFORMATION { USB_HUB_DESCRIPTOR HubDescriptor; BOOLEAN HubIsBusPowered; } USB_HUB_INFORMATION, *PUSB_HUB_INFORMATION; Documentation: USB_HUB_INFORMATION@msdn on MSDN !!!!Example: IntPtr h = CreateFile(Root.HubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero); if (h.ToInt32() != INVALID_HANDLE_VALUE) { USB_NODE_INFORMATION NodeInfo = new USB_NODE_INFORMATION(); NodeInfo.NodeType = (int)USB_HUB_NODE.UsbHub; int nBytes = Marshal.SizeOf(NodeInfo); IntPtr ptrNodeInfo = Marshal.AllocHGlobal(nBytes); Marshal.StructureToPtr(NodeInfo, ptrNodeInfo, true); // get the Hub Information if (DeviceIoControl(h2, IOCTL_USB_GET_NODE_INFORMATION, ptrNodeInfo, nBytes, ptrNodeInfo, nBytes, out nBytesReturned, IntPtr.Zero)) { NodeInfo = (USB_NODE_INFORMATION)Marshal.PtrToStructure(ptrNodeInfo, typeof(USB_NODE_INFORMATION)); // Do something here } Marshal.FreeHGlobal(ptrNodeInfo); CloseHandle(h); }
Edit Structures.USB_HU...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.