private void addDevice(UsbRegistry deviceReg, string display)
{
if (!deviceReg.Open(out mUsbDevice)) return;
mUsbRegistry = deviceReg;
TreeNode tvDevice = tvInfo.Nodes.Add(display);
string[] sDeviceAdd = mUsbDevice.Info.ToString().Split(new char[] {'\r', '\n'}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in sDeviceAdd)
tvDevice.Nodes.Add(s);
foreach (UsbConfigInfo cfgInfo in mUsbDevice.Configs)
{
TreeNode tvConfig = tvDevice.Nodes.Add("Config " + cfgInfo.Descriptor.ConfigID);
string[] sCfgAdd = cfgInfo.ToString().Split(new char[] {'\r', '\n'}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in sCfgAdd)
tvConfig.Nodes.Add(s);
TreeNode tvInterfaces = tvConfig; //.Nodes.Add("Interfaces");
foreach (UsbInterfaceInfo interfaceInfo in cfgInfo.InterfaceInfoList)
{
TreeNode tvInterface =
tvInterfaces.Nodes.Add("Interface [" + interfaceInfo.Descriptor.InterfaceID + "," + interfaceInfo.Descriptor.AlternateID + "]");
string[] sInterfaceAdd = interfaceInfo.ToString().Split(new char[] {'\r', '\n'}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in sInterfaceAdd)
tvInterface.Nodes.Add(s);
TreeNode tvEndpoints = tvInterface; //.Nodes.Add("Endpoints");
foreach (UsbEndpointInfo endpointInfo in interfaceInfo.EndpointInfoList)
{
TreeNode tvEndpoint = tvEndpoints.Nodes.Add("Endpoint 0x" + (endpointInfo.Descriptor.EndpointID).ToString("X2"));
string[] sEndpointAdd = endpointInfo.ToString().Split(new char[] {'\r', '\n'}, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in sEndpointAdd)
tvEndpoint.Nodes.Add(s);
}
}
}
mUsbDevice.Close();
}