Товарищи, кто-нибудь знает, как грамотно получить полный список установленных носителей подобного типа:
Сейчас я использую ряд топорных переборов вариантов типа:
Хотелось бы узнать более научный подход к списку носителей, без переборов и угадываний.
Код:
\\.\PhysicalDrive0
\\.\HarddiskVolume1
\\.\Harddisk0Partition1
\\.\CDROM0
и т.д.
Сейчас я использую ряд топорных переборов вариантов типа:
Код:
For $i=0 To 31
sPath = "\\.\PhysicalDrive" & $i
; или sPath = "\\.\HarddiskVolume" & $j
; или sPath = "\\.\Harddisk" & $i & "Partition" & $j
$hFile = _WinAPI_CreateFileEx($sPath, $OPEN_EXISTING, BitOR($GENERIC_READ, $GENERIC_WRITE), BitOR($FILE_SHARE_READ, $FILE_SHARE_WRITE, $FILE_SHARE_DELETE))
If $hFile Then
_WinAPI_CloseHandle($hFile)
; Такой носитель есть - заносим в список
Else
; Такого носителя нет - пропускаем
EndIf
Next
Хотелось бы узнать более научный подход к списку носителей, без переборов и угадываний.