user2588050
user2588050

Reputation: 53

c#.NET USB device persistent identifier

I am looking for a way in C# to have a persistent (across when end-users unplug a hub/restart their computer) identifier for USB slots, more specifically, SD card readers. Drive letters are not always assigned to the same slot, but I need a way to identify Slot A physically; as once I can identify it, I can make the connections to a drive letter.

So my question(s):

  1. Is this possible?
  2. If so, how would I go about getting these identifiers?

Upvotes: 2

Views: 772

Answers (1)

TheMightyX2Y
TheMightyX2Y

Reputation: 1503

WMI class Win32_USBHub.

ManagementObjectSearcher sidQuery = new ManagementObjectSearcher("Select * From Win32_USBHub");
ManagementObjectCollection results = sidQuery.Get();
List<String> deviceID = new List<String>();
foreach (ManagementObject result in results)
{
   deviceID.Add(result["DeviceID"]);
}

See more here : Get List of connected USB Devices

Documentation about Win32_USBHub : http://msdn.microsoft.com/en-us/library/windows/desktop/aa394506(v=vs.85).aspx

Upvotes: 1

Related Questions