Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как получить handler для drive volume

22K
18 ноября 2009 года
FloyDos
81 / / 14.08.2009
Цель: получить информацию о геометрии жесткого диска.
Использую функцию DeviceIOControl
Цитата:

BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_DISK_GET_DRIVE_GEOMETRY, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);



handle to device необходимо получить с помощью функции CreateFile (в мсдне говорят)
Код у меня следующий:

 
Код:
HANDLE han=CreateFile(
        "\\.\D:",
        GENERIC_READ,
        FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL,
        NULL);

CreateFile возвращает INVALID_HANDLE_VALUE
может аргументы не те?
260
18 ноября 2009 года
Ramon
1.1K / / 16.08.2003
 
Код:
CreateFile("\\\\.\\C:", 0, 0, NULL, OPEN_EXISTING, 0, NULL);


По идее этого должно быть достаточно для запроса геометрии.
22K
18 ноября 2009 года
FloyDos
81 / / 14.08.2009
Ну вот наконец-то!
А дело было вот в чем:

 
Код:
\\\\.\\D:
- надо было учесть необходимость экранирования слэша...

спасибо, Ramon)))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог