Конференция "WinAPI" » Как получить серийный номер USB флешки (UniqueID)
 
  • Fighter (03.01.09 03:28) [0]
    Есть ли возможно получить эту информацию через SetupDiGetDeviceRegistryProperty. Если да то с какими параметрами ?
  • KilkennyCat © (03.01.09 05:26) [1]
  • Fighter (18.01.09 00:51) [2]
    И чего странного в вопросе... как вот через SetupDiGetDeviceRegistryProperty серийный номер USB флешки (UniqueID) получить нельзя !
  • Германн © (18.01.09 02:14) [3]

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

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

    > Fighter   (03.01.09 03:28)  

    Тебе для чего это нужно?
  • Eraser © (18.01.09 03:13) [4]
    через WMI возможно можно, по аналогии с hdd.
  • KilkennyCat © (18.01.09 05:21) [5]
    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) получить нельзя !


    А Микрософтовцы, значит, врут...
  • han_malign © (19.01.09 15:56) [6]

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

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

    для USB сериный номер прописан в имени интерфейса(который собственно в CreateFile передается для DeviceIoControl)
    '\\?\usb#vid_
    <vid>

    &pid_
    <pid>

    #
    <HwId>

    #
    <ClassGUID>

    '
    SetupDiEnumDeviceInterfaces + SetupDiGetDeviceInterfaceDetail
    SP_DEVICE_INTERFACE_DETAIL_DATA.DevicePath

    с W95 до Vista - формат не менялся
  • KilkennyCat © (19.01.09 20:42) [7]

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


    Может и не врут, все-таки. Может UniqueID и серийный номер не одно и то же.
 
Конференция "WinAPI" » Как получить серийный номер USB флешки (UniqueID)
Есть новые Нет новых   [134435   +36][b:0][p:0.001]