Пытаюсь получить со всех физически установленных жестких дисков в системе собрать определенные данные (S.M.A.R.T статистику). Но у меня большое не понимание одной вещи. Читаю чужие исходники и в них вижу - первоначально получают хэндл: Код (Text): hSMARTIOCTL:= CreateFile('\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); а затем уже с полученным хэндлом в цикле выполняют команды. А в цикле идет перебор всех возможных дисков от 0 до MAX_IDE_DRIVES-1: Код (Text): for i:= 0 to (MAX_IDE_DRIVES - 1) do begin ..... ..... bDriveHeadReg := $A0 or ((bDriveNum and 1) shl 4); Так вот я не пойму - что такое PhysicalDrive0? Я думал, что PhysicalDriveX - это идентификатор физически установленного жесткого диска в системе, а оказалось что это не так. В то же время в некоторых исходниках сначала перебирают в цикле PhysicalDriveX, а потом уже внутри снова перебирают в цикле по MAX_IDE_DRIVES. Объясните пожалуйста что вообще происходит. Совсем не могу вникнуть.