определение WinAPI на типа носител и неговия сериен номер

Понякога е необходимо да се използва възможността да се провери вида на медиите и серийния номер. Причините могат да бъдат различни от банални на устройствата за контрол на системата за използване на средства за свързване защита на желязо. Сега ще ви покажем как да използвате приложния програмен интерфейс за изпълнение на тази проста задача.

Ще ни трябват само две API - функции:

  • GetDriveType - определя и се връща върху типа на носителя;
  • GetVolumeInformation - определя информацията за медиите, сред които съдържа серийния номер.

Помислете за описанието на тези функции в C ++ и Delphi. Първият ще включва GetDriveType, тя е много проста и използва само един параметър - указател към това. Като "С", "с" и т.н. Функцията връща едно от следните неща:

DRIVE_UNKNOWN - 0. диск неопределено / не съществува

DRIVE_NO_ROOT_DIR - 1. грешен начин / път не насочва към факта,

DRIVE_REMOVABLE - тип 2. устройството се определя като сменяем (дискета, флаш карта и т.н.)

DRIVE_FIXED - 3. тип устройство - устройство фиксиран диск (HDD)

тип 4. Устройство - - DRIVE_REMOTE дистанционно (мрежа) диск

DRIVE_RAMDISK - 6: Виртуален диск, създаден в памет

Забележка: Ако не е посочен параметъра за C / C ++ NULL. и за Delphi - нула типа на устройството ще бъде определена за диска (от която стартира програмата).

А сега погледнете функция GetVolumeInformation. Също така доста проста функция, но използва значително повече опции.
C / C ++

Забележка: Ако не е посочен първият параметър за C / C ++ NULL. и за Delphi - нула функцията ще бъде извършено за диска (от която стартира програмата).
Е, сега всъщност за повишаване на интереса към пример за това как да се свържете на програмата към устройството. В този пример, ние ще завърже програма на флаш устройство. Вижте примера:
C / C ++

Забележка: Може да възникне въпросът, и как да намерите серийния диск да се знае какво да се сравнява? Много просто, този тест се напише програма, в която пишем следния код:
C / C ++