From: Jake on
Pavel--

The question (how to get serial numbers) is predicated on each device having
a unique USB serial number.

The existence of the IDs is ancillary, just as the specific usage of serial
numbers is ancillary.

I think it might do to revisit the original post here since perhaps we've
lost sight of the goal...

1. Multiple USB devices with the same GUID (and PID/VID). These have unique
USB serial numbers and report them in the proper way.

2. I'm using WinUSB for the communication API, but would like to request the
serial numbers of these devices -- EVEN IF a device is "open" within WinUSB.

3. I don't care if I use WinUSB (WinUSB_GetDescriptor) or some other method
to query the serial numbers.




"Pavel A." wrote:

> "Jake" <Jake(a)discussions.microsoft.com> wrote in message
> news:E5B33D3A-CE41-459E-BAC2-3B21572B178E(a)microsoft.com...
>
> ..................
> > 1. I was not able to see the serial number in the device path names. Just
> > the PID, VID, and a GUID which isn't the GUID from the INF file. Perhaps
> > something associated with WinUSB.
> >
> ...................
> > It isn't uncommon to have multiple of these devices attached to different
> > machinery. The device allows storage of a user-managed ID. For the
> > camera
> > example, let's say those IDs are "Camera 1", "Camera 2", and "Camera 3".
> > Query of the device ID requires communication with the device outside the
> > simple USB queries like interfaces, serial numbers, PID/VID, etc.
>
> It looks that there IDs have nothing to do with the so called "USB serial
> numbers".
> They sit in some other string descriptors, or maybe not in string
> descriptors at all.
> If these devices have no unique "USB serial numbers", there is no obvious
> solution.
>
> Regards,
> --pa
>
>
From: Jake on
Maxim--

Thanks. I'll take a peek through the SetupDi to see if something rings out.



"Maxim S. Shatskih" wrote:

> > It isn't uncommon to have multiple of these devices attached to different
> > machinery. The device allows storage of a user-managed ID. For the camera
> > example, let's say those IDs are "Camera 1", "Camera 2", and "Camera 3".
>
> I think you can use SetupDi APIs instead of WinUSB to query such strings.
>
> --
> Maxim S. Shatskih
> Windows DDK MVP
> maxim(a)storagecraft.com
> http://www.storagecraft.com
>
> .
>
From: Pavel A. on
If your devices had serial numbers, they shoud be clearly visible
somewhere in the device path, as Tim suggested.
--pa

"Jake" <Jake(a)discussions.microsoft.com> wrote in message
news:AC0D1B8F-3872-4FA6-932A-07EC7B51A975(a)microsoft.com...
> Pavel--
>
> The question (how to get serial numbers) is predicated on each device
> having
> a unique USB serial number.
>
> The existence of the IDs is ancillary, just as the specific usage of
> serial
> numbers is ancillary.
>
> I think it might do to revisit the original post here since perhaps we've
> lost sight of the goal...
>
> 1. Multiple USB devices with the same GUID (and PID/VID). These have
> unique
> USB serial numbers and report them in the proper way.
>
> 2. I'm using WinUSB for the communication API, but would like to request
> the
> serial numbers of these devices -- EVEN IF a device is "open" within
> WinUSB.
>
> 3. I don't care if I use WinUSB (WinUSB_GetDescriptor) or some other
> method
> to query the serial numbers.
>
>
>
>
> "Pavel A." wrote:
>
>> "Jake" <Jake(a)discussions.microsoft.com> wrote in message
>> news:E5B33D3A-CE41-459E-BAC2-3B21572B178E(a)microsoft.com...
>>
>> ..................
>> > 1. I was not able to see the serial number in the device path names.
>> > Just
>> > the PID, VID, and a GUID which isn't the GUID from the INF file.
>> > Perhaps
>> > something associated with WinUSB.
>> >
>> ...................
>> > It isn't uncommon to have multiple of these devices attached to
>> > different
>> > machinery. The device allows storage of a user-managed ID. For the
>> > camera
>> > example, let's say those IDs are "Camera 1", "Camera 2", and "Camera
>> > 3".
>> > Query of the device ID requires communication with the device outside
>> > the
>> > simple USB queries like interfaces, serial numbers, PID/VID, etc.
>>
>> It looks that there IDs have nothing to do with the so called "USB serial
>> numbers".
>> They sit in some other string descriptors, or maybe not in string
>> descriptors at all.
>> If these devices have no unique "USB serial numbers", there is no obvious
>> solution.
>>
>> Regards,
>> --pa
>>
>>
From: Jake on
Pavel--

Hm. They do... And I don't... I wonder if I'm doing something wrong?

Will they just print, as usual? Here is an example string I'm getting:
\\?\usb#vid_XXXX&pid_YYYY#5&595e2b2&0&2#{7a1a3eb2-9c2c-47be-be55-ff3332a722fd}

VID and PID have been replaced, but the remainder is verbatim.




"Pavel A." wrote:

> If your devices had serial numbers, they shoud be clearly visible
> somewhere in the device path, as Tim suggested.
> --pa

From: Pavel A. on
"Jake" <Jake(a)discussions.microsoft.com> wrote in message
news:DB9A65A2-2C3B-4EC1-A234-F9AC5F3DC73E(a)microsoft.com...
> Pavel--
>
> Hm. They do... And I don't... I wonder if I'm doing something wrong?
>
> Will they just print, as usual? Here is an example string I'm getting:
> \\?\usb#vid_XXXX&pid_YYYY#5&595e2b2&0&2#{7a1a3eb2-9c2c-47be-be55-ff3332a722fd}
>
> VID and PID have been replaced, but the remainder is verbatim.

Hi Jake,

If only my memory serves, when the serial number is present,
it should be contained verbatim in the above string, somewhere between the
vid & pid part and the {guid}.

Regards,
--pa