|
| Author |
Message |
Sean McLeod
Joined: 11 Feb 2008 Posts: 5
|
Posted: Mon Feb 11, 2008 10:15 am Post subject: DEVICE_ID broken on HP iPaq 210 models? |
|
|
Hi
We use the DEVICE_ID structure returned by IOCTL_HAL_GET_DEVICEID to get a
unique device ID for use in our licensing scheme for our Pocket PC software.
We have noticed though that the newly released HP iPaq 210 models don’t
appear to return unique device data in the DEVICE_ID struct.
The PresetID bytes are the null terminated Unicode string “PocketPC”.
The PlatformID bytes are the null terminated ansi string “HPIPAQ210_24337”.
Has anyone else noticed this?
If so is there an alternative mechanism to get a unique device ID on HP 210
models?
Cheers
Archived from group: microsoft>public>pocketpc>developer |
|
| Back to top |
|
 |
Peter Foot
Joined: 01 Sep 2007 Posts: 56
|
Posted: Mon Feb 11, 2008 7:54 pm Post subject: Re: DEVICE_ID broken on HP iPaq 210 models? |
|
|
On all Windows Mobile 5.0 and later devices you should use
GetDeviceUniqueId. See the SDK documentation for usage.
Peter
--
Peter Foot
Microsoft Device Application Development MVP
www.peterfoot.net | www.inthehand.com
In The Hand Ltd - .NET Solutions for Mobility
"Sean McLeod" wrote in message @microsoft.com...
> Hi
>
> We use the DEVICE_ID structure returned by IOCTL_HAL_GET_DEVICEID to get a
> unique device ID for use in our licensing scheme for our Pocket PC
> software.
>
> We have noticed though that the newly released HP iPaq 210 models don’t
> appear to return unique device data in the DEVICE_ID struct.
>
> The PresetID bytes are the null terminated Unicode string “PocketPC”.
>
> The PlatformID bytes are the null terminated ansi string “HPIPAQ210_24337”.
>
> Has anyone else noticed this?
>
> If so is there an alternative mechanism to get a unique device ID on HP
> 210
> models?
>
> Cheers
> |
|
| Back to top |
|
 |
Sean McLeod
Joined: 11 Feb 2008 Posts: 5
|
Posted: Mon Feb 11, 2008 3:25 pm Post subject: Re: DEVICE_ID broken on HP iPaq 210 models? |
|
|
Okay thanks although we support Windows Mobile 2003 devices as well with the
same exe so we would need to implement a runtime check and use
GetProcAddress() for GetDeviceUniqueId().
IOCTL_HAL_GET_DEVICEID has also been working fine on loads of other Windows
Mobile 5 and Windows Mobile 6 devices, even from HP. They just seem to have
broken the implementation on this particular model.
Also taking a look at this Microsoft blog posting about GetDeviceUniqueId()
and the comments by developers complaining that some OEMs have also managed
to mess up the OEM part of the implementation such that duplicate/non-unique
device IDs are being returned.
So I'm not holding out too much hope that HP will have got the OEM portion
of this API correct.
Microsoft really needs a better logo program to catch these sort of OEM
errors before the devices are allowed to be released as branded Windows
Mobile devices.
Cheers
"Peter Foot" wrote:
> On all Windows Mobile 5.0 and later devices you should use
> GetDeviceUniqueId. See the SDK documentation for usage.
>
> Peter
>
> --
> Peter Foot
> Microsoft Device Application Development MVP
> www.peterfoot.net | www.inthehand.com
> In The Hand Ltd - .NET Solutions for Mobility
>
> "Sean McLeod" wrote in message
> @microsoft.com...
> > Hi
> >
> > We use the DEVICE_ID structure returned by IOCTL_HAL_GET_DEVICEID to get a
> > unique device ID for use in our licensing scheme for our Pocket PC
> > software.
> >
> > We have noticed though that the newly released HP iPaq 210 models don’t
> > appear to return unique device data in the DEVICE_ID struct.
> >
> > The PresetID bytes are the null terminated Unicode string “PocketPC”.
> >
> > The PlatformID bytes are the null terminated ansi string “HPIPAQ210_24337”.
> >
> > Has anyone else noticed this?
> >
> > If so is there an alternative mechanism to get a unique device ID on HP
> > 210
> > models?
> >
> > Cheers
> >
> |
|
| Back to top |
|
 |
Sean McLeod
Joined: 11 Feb 2008 Posts: 5
|
Posted: Mon Feb 11, 2008 3:37 pm Post subject: Re: DEVICE_ID broken on HP iPaq 210 models? |
|
|
Oops, forget to include the link for the blog posting I refered to below:
http://blogs.msdn.com/windowsmobile/archive/2006/01/09/510997.aspx
Cheers
"Sean McLeod" wrote:
> Okay thanks although we support Windows Mobile 2003 devices as well with the
> same exe so we would need to implement a runtime check and use
> GetProcAddress() for GetDeviceUniqueId().
>
> IOCTL_HAL_GET_DEVICEID has also been working fine on loads of other Windows
> Mobile 5 and Windows Mobile 6 devices, even from HP. They just seem to have
> broken the implementation on this particular model.
>
> Also taking a look at this Microsoft blog posting about GetDeviceUniqueId()
> and the comments by developers complaining that some OEMs have also managed
> to mess up the OEM part of the implementation such that duplicate/non-unique
> device IDs are being returned.
>
> So I'm not holding out too much hope that HP will have got the OEM portion
> of this API correct.
>
> Microsoft really needs a better logo program to catch these sort of OEM
> errors before the devices are allowed to be released as branded Windows
> Mobile devices.
>
> Cheers
>
> "Peter Foot" wrote:
>
> > On all Windows Mobile 5.0 and later devices you should use
> > GetDeviceUniqueId. See the SDK documentation for usage.
> >
> > Peter
> >
> > --
> > Peter Foot
> > Microsoft Device Application Development MVP
> > www.peterfoot.net | www.inthehand.com
> > In The Hand Ltd - .NET Solutions for Mobility
> >
> > "Sean McLeod" wrote in message
> > @microsoft.com...
> > > Hi
> > >
> > > We use the DEVICE_ID structure returned by IOCTL_HAL_GET_DEVICEID to get a
> > > unique device ID for use in our licensing scheme for our Pocket PC
> > > software.
> > >
> > > We have noticed though that the newly released HP iPaq 210 models don’t
> > > appear to return unique device data in the DEVICE_ID struct.
> > >
> > > The PresetID bytes are the null terminated Unicode string “PocketPC”.
> > >
> > > The PlatformID bytes are the null terminated ansi string “HPIPAQ210_24337”.
> > >
> > > Has anyone else noticed this?
> > >
> > > If so is there an alternative mechanism to get a unique device ID on HP
> > > 210
> > > models?
> > >
> > > Cheers
> > >
> > |
|
| Back to top |
|
 |
Sean McLeod
Joined: 11 Feb 2008 Posts: 5
|
Posted: Tue Feb 12, 2008 1:33 pm Post subject: Re: DEVICE_ID broken on HP iPaq 210 models? |
|
|
Just an update, I tried the WM5+ API GetDeviceUniqueID() on the HP iPaq 210
and it does appear to return unique IDs for the 2 different devices we have
for testing.
Cheers
"Sean McLeod" wrote:
> Oops, forget to include the link for the blog posting I refered to below:
>
> http://blogs.msdn.com/windowsmobile/archive/2006/01/09/510997.aspx
>
> Cheers
>
> "Sean McLeod" wrote:
>
> > Okay thanks although we support Windows Mobile 2003 devices as well with the
> > same exe so we would need to implement a runtime check and use
> > GetProcAddress() for GetDeviceUniqueId().
> >
> > IOCTL_HAL_GET_DEVICEID has also been working fine on loads of other Windows
> > Mobile 5 and Windows Mobile 6 devices, even from HP. They just seem to have
> > broken the implementation on this particular model.
> >
> > Also taking a look at this Microsoft blog posting about GetDeviceUniqueId()
> > and the comments by developers complaining that some OEMs have also managed
> > to mess up the OEM part of the implementation such that duplicate/non-unique
> > device IDs are being returned.
> >
> > So I'm not holding out too much hope that HP will have got the OEM portion
> > of this API correct.
> >
> > Microsoft really needs a better logo program to catch these sort of OEM
> > errors before the devices are allowed to be released as branded Windows
> > Mobile devices.
> >
> > Cheers
> >
> > "Peter Foot" wrote:
> >
> > > On all Windows Mobile 5.0 and later devices you should use
> > > GetDeviceUniqueId. See the SDK documentation for usage.
> > >
> > > Peter
> > >
> > > --
> > > Peter Foot
> > > Microsoft Device Application Development MVP
> > > www.peterfoot.net | www.inthehand.com
> > > In The Hand Ltd - .NET Solutions for Mobility
> > >
> > > "Sean McLeod" wrote in message
> > > @microsoft.com...
> > > > Hi
> > > >
> > > > We use the DEVICE_ID structure returned by IOCTL_HAL_GET_DEVICEID to get a
> > > > unique device ID for use in our licensing scheme for our Pocket PC
> > > > software.
> > > >
> > > > We have noticed though that the newly released HP iPaq 210 models don’t
> > > > appear to return unique device data in the DEVICE_ID struct.
> > > >
> > > > The PresetID bytes are the null terminated Unicode string “PocketPC”.
> > > >
> > > > The PlatformID bytes are the null terminated ansi string “HPIPAQ210_24337”.
> > > >
> > > > Has anyone else noticed this?
> > > >
> > > > If so is there an alternative mechanism to get a unique device ID on HP
> > > > 210
> > > > models?
> > > >
> > > > Cheers
> > > >
> > > |
|
| Back to top |
|
 |
Scott Yost [MSFT]
Joined: 15 Aug 2007 Posts: 245
|
Posted: Mon Feb 18, 2008 2:06 pm Post subject: Re: DEVICE_ID broken on HP iPaq 210 models? |
|
|
GetDeviceUniqueID is likely to shield you from some errors in how the
underlying DEVICE_ID is implemented..There's only so much it can do though.
If the whole structure is duplicated on every single device, then
GetDeviceUniqueId will always be duplicate as well.
--
Scott Yost
Software Development Engineer/Test
Microsoft Corp.
This posting is provided "AS IS" with no warranties, and confers no rights.
"Sean McLeod" wrote in message @microsoft.com...
> Just an update, I tried the WM5+ API GetDeviceUniqueID() on the HP iPaq
> 210
> and it does appear to return unique IDs for the 2 different devices we
> have
> for testing.
>
> Cheers
>
> "Sean McLeod" wrote:
>
>> Oops, forget to include the link for the blog posting I refered to below:
>>
>> http://blogs.msdn.com/windowsmobile/archive/2006/01/09/510997.aspx
>>
>> Cheers
>>
>> "Sean McLeod" wrote:
>>
>> > Okay thanks although we support Windows Mobile 2003 devices as well
>> > with the
>> > same exe so we would need to implement a runtime check and use
>> > GetProcAddress() for GetDeviceUniqueId().
>> >
>> > IOCTL_HAL_GET_DEVICEID has also been working fine on loads of other
>> > Windows
>> > Mobile 5 and Windows Mobile 6 devices, even from HP. They just seem to
>> > have
>> > broken the implementation on this particular model.
>> >
>> > Also taking a look at this Microsoft blog posting about
>> > GetDeviceUniqueId()
>> > and the comments by developers complaining that some OEMs have also
>> > managed
>> > to mess up the OEM part of the implementation such that
>> > duplicate/non-unique
>> > device IDs are being returned.
>> >
>> > So I'm not holding out too much hope that HP will have got the OEM
>> > portion
>> > of this API correct.
>> >
>> > Microsoft really needs a better logo program to catch these sort of OEM
>> > errors before the devices are allowed to be released as branded Windows
>> > Mobile devices.
>> >
>> > Cheers
>> >
>> > "Peter Foot" wrote:
>> >
>> > > On all Windows Mobile 5.0 and later devices you should use
>> > > GetDeviceUniqueId. See the SDK documentation for usage.
>> > >
>> > > Peter
>> > >
>> > > --
>> > > Peter Foot
>> > > Microsoft Device Application Development MVP
>> > > www.peterfoot.net | www.inthehand.com
>> > > In The Hand Ltd - .NET Solutions for Mobility
>> > >
>> > > "Sean McLeod" wrote in message
>> > > @microsoft.com...
>> > > > Hi
>> > > >
>> > > > We use the DEVICE_ID structure returned by IOCTL_HAL_GET_DEVICEID
>> > > > to get a
>> > > > unique device ID for use in our licensing scheme for our Pocket PC
>> > > > software.
>> > > >
>> > > > We have noticed though that the newly released HP iPaq 210 models
>> > > > don't
>> > > > appear to return unique device data in the DEVICE_ID struct.
>> > > >
>> > > > The PresetID bytes are the null terminated Unicode string
>> > > > "PocketPC".
>> > > >
>> > > > The PlatformID bytes are the null terminated ansi string
>> > > > "HPIPAQ210_24337".
>> > > >
>> > > > Has anyone else noticed this?
>> > > >
>> > > > If so is there an alternative mechanism to get a unique device ID
>> > > > on HP
>> > > > 210
>> > > > models?
>> > > >
>> > > > Cheers
>> > > >
>> > > |
|
| Back to top |
|
 |
Sean McLeod
Joined: 11 Feb 2008 Posts: 5
|
Posted: Mon Feb 18, 2008 6:03 pm Post subject: Re: DEVICE_ID broken on HP iPaq 210 models? |
|
|
Okay so GetDeviceUniqueID() is implemented by hashing the DEVICE_ID using the
supplied program's data as the salt, as opposed to using some other OEM
mechanism to return a unique device ID?
If so I'm a bit suprised since as I mentioned in the original post the 2
test HP iPaq 210 devices we have return the exact same data for DEVICE_ID and
since we're supplying the same salt data I'm suprised then that we get back
two unique IDs from GetDeviceUniqueID().
Cheers
"Scott Yost [MSFT]" wrote:
> GetDeviceUniqueID is likely to shield you from some errors in how the
> underlying DEVICE_ID is implemented..There's only so much it can do though.
> If the whole structure is duplicated on every single device, then
> GetDeviceUniqueId will always be duplicate as well.
> --
> Scott Yost
> Software Development Engineer/Test
> Microsoft Corp.
>
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> "Sean McLeod" wrote in message
> @microsoft.com...
> > Just an update, I tried the WM5+ API GetDeviceUniqueID() on the HP iPaq
> > 210
> > and it does appear to return unique IDs for the 2 different devices we
> > have
> > for testing.
> >
> > Cheers
> >
> > "Sean McLeod" wrote:
> >
> >> Oops, forget to include the link for the blog posting I refered to below:
> >>
> >> http://blogs.msdn.com/windowsmobile/archive/2006/01/09/510997.aspx
> >>
> >> Cheers
> >>
> >> "Sean McLeod" wrote:
> >>
> >> > Okay thanks although we support Windows Mobile 2003 devices as well
> >> > with the
> >> > same exe so we would need to implement a runtime check and use
> >> > GetProcAddress() for GetDeviceUniqueId().
> >> >
> >> > IOCTL_HAL_GET_DEVICEID has also been working fine on loads of other
> >> > Windows
> >> > Mobile 5 and Windows Mobile 6 devices, even from HP. They just seem to
> >> > have
> >> > broken the implementation on this particular model.
> >> >
> >> > Also taking a look at this Microsoft blog posting about
> >> > GetDeviceUniqueId()
> >> > and the comments by developers complaining that some OEMs have also
> >> > managed
> >> > to mess up the OEM part of the implementation such that
> >> > duplicate/non-unique
> >> > device IDs are being returned.
> >> >
> >> > So I'm not holding out too much hope that HP will have got the OEM
> >> > portion
> >> > of this API correct.
> >> >
> >> > Microsoft really needs a better logo program to catch these sort of OEM
> >> > errors before the devices are allowed to be released as branded Windows
> >> > Mobile devices.
> >> >
> >> > Cheers
> >> >
> >> > "Peter Foot" wrote:
> >> >
> >> > > On all Windows Mobile 5.0 and later devices you should use
> >> > > GetDeviceUniqueId. See the SDK documentation for usage.
> >> > >
> >> > > Peter
> >> > >
> >> > > --
> >> > > Peter Foot
> >> > > Microsoft Device Application Development MVP
> >> > > www.peterfoot.net | www.inthehand.com
> >> > > In The Hand Ltd - .NET Solutions for Mobility
> >> > >
> >> > > "Sean McLeod" wrote in message
> >> > > @microsoft.com...
> >> > > > Hi
> >> > > >
> >> > > > We use the DEVICE_ID structure returned by IOCTL_HAL_GET_DEVICEID
> >> > > > to get a
> >> > > > unique device ID for use in our licensing scheme for our Pocket PC
> >> > > > software.
> >> > > >
> >> > > > We have noticed though that the newly released HP iPaq 210 models
> >> > > > don't
> >> > > > appear to return unique device data in the DEVICE_ID struct.
> >> > > >
> >> > > > The PresetID bytes are the null terminated Unicode string
> >> > > > "PocketPC".
> >> > > >
> >> > > > The PlatformID bytes are the null terminated ansi string
> >> > > > "HPIPAQ210_24337".
> >> > > >
> >> > > > Has anyone else noticed this?
> >> > > >
> >> > > > If so is there an alternative mechanism to get a unique device ID
> >> > > > on HP
> >> > > > 210
> >> > > > models?
> >> > > >
> >> > > > Cheers
> >> > > >
> >> > >
>
>
> |
|
| Back to top |
|
 |
Scott Yost [MSFT]
Joined: 15 Aug 2007 Posts: 245
|
Posted: Fri Feb 22, 2008 12:25 am Post subject: Re: DEVICE_ID broken on HP iPaq 210 models? |
|
|
Honestly, the specification of these IOCTLs is a mess and you don't want to
dive too deep down the rabbit hole. But some implementations return
different things for IOCTL_HAL_DEVICE_ID depending on the size you pass into
them. Some of them return different things depending on whether you ask for
something that is sizeof(DEVICE_ID) vs. something that is
sizeof(UNIQIE_DEVICEID). That might be happening on those device. It boils
down to an overlapping spec between Windows CE and Windows Mobile so some
OEMs wrote the code once and serviced both platforms with it. This is one of
the reasons I recommend standardizing on GetDeviceUniqueId() (assuming it's
available for your target customers).
--
Scott Yost
Software Development Engineer/Test
Microsoft Corp.
This posting is provided "AS IS" with no warranties, and confers no rights.
"Sean McLeod" wrote in message @microsoft.com...
> Okay so GetDeviceUniqueID() is implemented by hashing the DEVICE_ID using
> the
> supplied program's data as the salt, as opposed to using some other OEM
> mechanism to return a unique device ID?
>
> If so I'm a bit suprised since as I mentioned in the original post the 2
> test HP iPaq 210 devices we have return the exact same data for DEVICE_ID
> and
> since we're supplying the same salt data I'm suprised then that we get
> back
> two unique IDs from GetDeviceUniqueID().
>
> Cheers
>
> "Scott Yost [MSFT]" wrote:
>
>> GetDeviceUniqueID is likely to shield you from some errors in how the
>> underlying DEVICE_ID is implemented..There's only so much it can do
>> though.
>> If the whole structure is duplicated on every single device, then
>> GetDeviceUniqueId will always be duplicate as well.
>> --
>> Scott Yost
>> Software Development Engineer/Test
>> Microsoft Corp.
>>
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>> "Sean McLeod" wrote in message
>> @microsoft.com...
>> > Just an update, I tried the WM5+ API GetDeviceUniqueID() on the HP iPaq
>> > 210
>> > and it does appear to return unique IDs for the 2 different devices we
>> > have
>> > for testing.
>> >
>> > Cheers
>> >
>> > "Sean McLeod" wrote:
>> >
>> >> Oops, forget to include the link for the blog posting I refered to
>> >> below:
>> >>
>> >> http://blogs.msdn.com/windowsmobile/archive/2006/01/09/510997.aspx
>> >>
>> >> Cheers
>> >>
>> >> "Sean McLeod" wrote:
>> >>
>> >> > Okay thanks although we support Windows Mobile 2003 devices as well
>> >> > with the
>> >> > same exe so we would need to implement a runtime check and use
>> >> > GetProcAddress() for GetDeviceUniqueId().
>> >> >
>> >> > IOCTL_HAL_GET_DEVICEID has also been working fine on loads of other
>> >> > Windows
>> >> > Mobile 5 and Windows Mobile 6 devices, even from HP. They just seem
>> >> > to
>> >> > have
>> >> > broken the implementation on this particular model.
>> >> >
>> >> > Also taking a look at this Microsoft blog posting about
>> >> > GetDeviceUniqueId()
>> >> > and the comments by developers complaining that some OEMs have also
>> >> > managed
>> >> > to mess up the OEM part of the implementation such that
>> >> > duplicate/non-unique
>> >> > device IDs are being returned.
>> >> >
>> >> > So I'm not holding out too much hope that HP will have got the OEM
>> >> > portion
>> >> > of this API correct.
>> >> >
>> >> > Microsoft really needs a better logo program to catch these sort of
>> >> > OEM
>> >> > errors before the devices are allowed to be released as branded
>> >> > Windows
>> >> > Mobile devices.
>> >> >
>> >> > Cheers
>> >> >
>> >> > "Peter Foot" wrote:
>> >> >
>> >> > > On all Windows Mobile 5.0 and later devices you should use
>> >> > > GetDeviceUniqueId. See the SDK documentation for usage.
>> >> > >
>> >> > > Peter
>> >> > >
>> >> > > --
>> >> > > Peter Foot
>> >> > > Microsoft Device Application Development MVP
>> >> > > www.peterfoot.net | www.inthehand.com
>> >> > > In The Hand Ltd - .NET Solutions for Mobility
>> >> > >
>> >> > > "Sean McLeod" wrote in
>> >> > > message
>> >> > > @microsoft.com...
>> >> > > > Hi
>> >> > > >
>> >> > > > We use the DEVICE_ID structure returned by
>> >> > > > IOCTL_HAL_GET_DEVICEID
>> >> > > > to get a
>> >> > > > unique device ID for use in our licensing scheme for our Pocket
>> >> > > > PC
>> >> > > > software.
>> >> > > >
>> >> > > > We have noticed though that the newly released HP iPaq 210
>> >> > > > models
>> >> > > > don't
>> >> > > > appear to return unique device data in the DEVICE_ID struct.
>> >> > > >
>> >> > > > The PresetID bytes are the null terminated Unicode string
>> >> > > > "PocketPC".
>> >> > > >
>> >> > > > The PlatformID bytes are the null terminated ansi string
>> >> > > > "HPIPAQ210_24337".
>> >> > > >
>> >> > > > Has anyone else noticed this?
>> >> > > >
>> >> > > > If so is there an alternative mechanism to get a unique device
>> >> > > > ID
>> >> > > > on HP
>> >> > > > 210
>> >> > > > models?
>> >> > > >
>> >> > > > Cheers
>> >> > > >
>> >> > >
>>
>>
>>
|
|
| Back to top |
|
 |
|