Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить серийный номер USB флешки (UniqueID)


Fighter ©   (2009-01-03 03:28:00) 

Есть ли возможно получить эту информацию через SetupDiGetDeviceRegistryProperty. Если да то с какими параметрами ?


KilkennyCat   (2009-01-19 20:42:00) [1]


> han_malign ©   (19.01.09 15:56) [6]


Может и не врут, все-таки. Может UniqueID и серийный номер не одно и то же.


han_malign   (2009-01-19 15:56:00) [2]


> А Микрософтовцы, значит, врут...

- врут, однако...

для USB сериный номер прописан в имени интерфейса(который собственно в CreateFile передается для DeviceIoControl)
'\\?\usb#vid_ &pid_ # # '
SetupDiEnumDeviceInterfaces + SetupDiGetDeviceInterfaceDetail
SP_DEVICE_INTERFACE_DETAIL_DATA.DevicePath

с W95 до Vista - формат не менялся


KilkennyCat   (2009-01-18 05:21:00) [3]

SetupDiGetDeviceRegistryProperty

The SetupDiGetDeviceRegistryProperty function retrieves a specified Plug and Play device property.

WINSETUPAPI BOOL WINAPI
 SetupDiGetDeviceRegistryProperty(
   IN HDEVINFO  DeviceInfoSet,
   IN PSP_DEVINFO_DATA  DeviceInfoData,
   IN DWORD  Property,
   OUT PDWORD  PropertyRegDataType,  OPTIONAL
   OUT PBYTE  PropertyBuffer,
   IN DWORD  PropertyBufferSize,
   OUT PDWORD  RequiredSize  OPTIONAL
...
Property
   One of the following values, indicating the property to be retrieved:

   SPDRP_ADDRESS
       The function retrieves the device's address.
   SPDRP_BUSNUMBER
       The function retrieves the device's bus number.
   SPDRP_BUSTYPEGUID
       The function retrieves the GUID for the device's bus type.
   SPDRP_CAPABILITIES
       The function retrieves a bitwise OR of the following CM_DEVCAP_Xxx flags in a DWORD. The device capabilities that are represented by these flags correspond to the device capabilities that are represented by the members of the DEVICE_CAPABILITIES structure. The CM_DEVCAP_Xxx constants are defined in cfgmgr32.h.
...
CM_DEVCAP_UNIQUEID  UniqueID


> через SetupDiGetDeviceRegistryProperty серийный номер USB
> флешки (UniqueID) получить нельзя !


А Микрософтовцы, значит, врут...


Eraser   (2009-01-18 03:13:00) [4]

через WMI возможно можно, по аналогии с hdd.


Германн   (2009-01-18 02:14:00) [5]


> Fighter   (18.01.09 00:51) [2]
>
> И чего странного в вопросе... как вот через SetupDiGetDeviceRegistryProperty
> серийный номер USB флешки (UniqueID) получить нельзя !
>

Всё страньше и страньше. Теперь уже и знак вопроса заменен на восклицательный. :(

> Fighter   (03.01.09 03:28)  

Тебе для чего это нужно?


Fighter   (2009-01-18 00:51:00) [6]

И чего странного в вопросе... как вот через SetupDiGetDeviceRegistryProperty серийный номер USB флешки (UniqueID) получить нельзя !


KilkennyCat   (2009-01-03 05:26:00) [7]

Странный вопрос...
http://msdn.microsoft.com/en-us/library/ms792967.aspx


Наверх

Титульная страница Поиск, карта сайта Написать письмо