Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > IOCTL_DISK_GET_DRIVE_LAYOUT


Автор: artem1987 23.9.2006, 16:59
подскажите значение кода IOCTL_DISK_GET_DRIVE_LAYOUT
там через CTL_CODE во втором параметре смещение 3.
или IOCTL_DISK_BASE чтобы его посчитать

Автор: Damarus 23.9.2006, 17:13
Цитата(artem1987 @  23.9.2006,  17:59 Найти цитируемый пост)
подскажите значение кода IOCTL_DISK_GET_DRIVE_LAYOUT

Код
#define IOCTL_DISK_GET_DRIVE_LAYOUT     CTL_CODE(IOCTL_DISK_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)

Числовое значение - 0x0007400C.

Автор: volvo877 23.9.2006, 17:16
Код

const
 IOCTL_DISK_GET_DRIVE_LAYOUT = 475148; // 7400C (hex).

Автор: artem1987 23.9.2006, 18:16
а подскажите кто где их взял...или если считали с пом CTL_CODE где взяли IOCTL_DISK_BASE

Автор: Damarus 23.9.2006, 18:32
Цитата(artem1987 @  23.9.2006,  19:16 Найти цитируемый пост)
а подскажите кто где их взял...или если считали с пом CTL_CODE где взяли IOCTL_DISK_BASE

Код
#include <windows.h>
#include <iostream>

int wmain(int argc, wchar_t* argv[], wchar_t* envp[])
{
    std::wcout << L"IOCTL_DISK_GET_DRIVE_LAYOUT = " << std::hex << IOCTL_DISK_GET_DRIVE_LAYOUT << std::endl;
}

Автор: Yanis 25.9.2006, 11:38
artem1987
Дык Four-F для кого старался то? smile
http://wasm.ru/baixado.php?mode=tool&id=323

Автор: artem1987 25.9.2006, 16:12
да уж отличная работа...даже если не пользоваться базой а просто сразу считать CTL_CODE
только вот теперь возникший вопрос про IOCTL_DISK_GET_DRIVE_LAYOUT и IOCTL_DISK_GET_DRIVE_GEOMETRY
почему данные полученные с их помощю (к примеру количество секторов) не совпадает с данными таких програм как
Acronis Disk Director
Virtual Lab от Binary Biz
R-Studio причем разница макс в 4 сектора а мин 1 (2КВ , 512 В)
в частности для флэш карт (да и для дисков), есть ли другие способы получения данных,или какието особенности?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)