Здраствуйте. Не подскажет ли кто, как определить серийный номер флешки. В MSDN написано что для этого используется параметр в фун-и DeviceIOControl IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER. Requirements Client Requires Windows "Longhorn" or Windows XP. Server Requires Windows Server "Longhorn" or Windows Server 2003. Header Declared in Winioctl.h. А как сделать на win2000 ? Там в файле <Winioctl.h> нет описания IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER. Пробовал вставлять #define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER CTL_CODE(IOCTL_STORAGE_BASE, 0x0304, METHOD_BUFFERED, FILE_ANY_ACCESS), возвращаяет GetLastError = 50 (сетевой запрос не поддерживается). Нашёл в файле diskid32.cpp подключение таких header'ов : (правда закоментированных) // special include from the MS DDK //#include "c:\win2kddk\inc\ddk\ntddk.h" //#include "c:\win2kddk\inc\ntddstor.h" Скачал win2kddk, подключил, не компилится. Может дело в ServicePack'ах, а то у меня ни один не стоит , ни под VC++ 6.0, ни под Win2000prof. Делают же как-то люди ...
это говорит о том, что в более ранних виндосах данный IOCTL не реализован. А что за серийный номер такой, чем его посмотреть можно? В структуре USB_DEVICE_DESCRIPTOR есть поле iSerialNumber, но оно размером всего байт, похоже это нето (