User Ratings

★★★★★
★★★★
★★★
★★
1
1
0
0
1
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

Rate This Project
Login To Rate This Project

User Reviews

  • ....and this is how you fix it on x64 bit platforms. Change this line:- "deviceInterfaceDetailData.cbSize = 4 + Marshal.SystemDefaultCharSize; // trust me :)" to this:- "if (UIntPtr.Size == 8) deviceInterfaceDetailData.cbSize = 8; else deviceInterfaceDetailData.cbSize = (int)(4 + (uint)Marshal.SystemDefaultCharSize);" And this:- "public IntPtr DevInst;" To this:- "public Int32 DevInst;"
    1 user found this review helpful.
  • Works as advertised for x86 32bit platforms, but fails to find devices on x64. This is simply because the calls to the OS are not configured to account for size of pointers vs ints and the effect on structure size, etc. If you make a few patches, it works fine on x64.
    1 user found this review helpful.
  • Great code. It helped me a lot. If you compare the result with the usbview of Microsoft there you can encounter different USB controller order because Microsoft uses the DosDevice name order HCD # to enumerate the controllers but USBSharp uses symlink devicepath order.