Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отличить внешний носитель от внутреннего 
:(
    Опции темы
Goganchic
Дата 26.8.2008, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



У меня такая задача: на уровне драйвера хочется по пути к файлу сказать, где этот файл находится, на внешнем или внутреннем носителе, т.е. к примеру дается путь C:\test.txt а драйвер как-то должен определить, что мол C:\ - это внутренний винчестер, или например F:\image.jpg - F:\ - это CDROM. Можно ли это как-то сделать? И если можно - то как?
PM Jabber   Вверх
v1rtu0z
Дата 26.8.2008, 13:52 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 21.4.2008
Где: Воронеж

Репутация: нет
Всего: нет



тебе нужно воспользоваться вот этой функцией: (далее из MSDN)

The GetDriveType function determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.


Код

UINT GetDriveType(
  LPCTSTR lpRootPathName
);


Parameters
lpRootPathName 
[in] Pointer to a null-terminated string that specifies the root directory of the disk to return information about.
A trailing backslash is required. If this parameter is NULL, the function uses the root of the current directory.

Return Values
The return value specifies the type of drive. It can be one of the following values.

Value Meaning 
DRIVE_UNKNOWN The drive type cannot be determined. 
DRIVE_NO_ROOT_DIR The root path is invalid, for example, no volume is mounted at the path. 
DRIVE_REMOVABLE The drive is a type that has removable media, for example, a floppy drive or removable hard disk. 
DRIVE_FIXED The drive is a type that cannot be removed, for example, a fixed hard drive. 
DRIVE_REMOTE The drive is a remote (network) drive. 
DRIVE_CDROM The drive is a CD-ROM drive. 
DRIVE_RAMDISK The drive is a RAM disk. 

PM MAIL ICQ   Вверх
ama_kid
Дата 26.8.2008, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 5
Всего: 95



v1rtu0z, smile не путай человека, он же ясно написал, что ему требуется
Цитата(Goganchic @  26.8.2008,  14:35 Найти цитируемый пост)
на уровне драйвера...

Goganchic, ZwQueryVolumeInformationFile с анализом FILE_FS_DEVICE_INFORMATION не поможет? 


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Goganchic
Дата 26.8.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



ama_kid, спасибо огромное, проверять буду позже, так что пока не помечаю вопрос как решенный
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.