Проблемы с открытием \\Device\\Harddisk0\\DR0
От: Димитрий  
Дата: 15.09.04 16:59
Оценка:
Почему
CreateFile(deviceName,
GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, 0, NULL);

когда deviceName = "\\\\.\\PhysicalDrive0"
возвращает рабочий handle,
а когда deviceName = "\\Device\\Harddisk0\\DR0"
возвращает INVALID_HANDLE_VALUE?

Утилита WinObj показывает, что
\\\\.\\PhysicalDrive0 есть символичесий линк на
\\Device\\Harddisk0\\DR0
Re: Проблемы с открытием \\Device\\Harddisk0\\DR0
От: Злость Россия  
Дата: 15.09.04 17:11
Оценка:
Здравствуйте, Димитрий, Вы писали:

Д>Почему

Д>CreateFile(deviceName,
Д> GENERIC_READ, FILE_SHARE_READ,
Д> NULL, OPEN_EXISTING, 0, NULL);

Д>когда deviceName = "\\\\.\\PhysicalDrive0"

Д>возвращает рабочий handle,
Д>а когда deviceName = "\\Device\\Harddisk0\\DR0"
Д>возвращает INVALID_HANDLE_VALUE?

Д>Утилита WinObj показывает, что

Д>\\\\.\\PhysicalDrive0 есть символичесий линк на
Д>\\Device\\Harddisk0\\DR0

Напрямую — без kernel поддержки — как я знаю вы не сможете открыть этот обьект.
Потому как user mode не видет \Device
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Re[2]: Проблемы с открытием \\Device\\Harddisk0\\DR0
От: Димитрий  
Дата: 15.09.04 17:25
Оценка:
Здравствуйте, Злость, Вы писали:

З>Здравствуйте, Димитрий, Вы писали:


Д>>Почему

Д>>CreateFile(deviceName,
Д>> GENERIC_READ, FILE_SHARE_READ,
Д>> NULL, OPEN_EXISTING, 0, NULL);

Д>>когда deviceName = "\\\\.\\PhysicalDrive0"

Д>>возвращает рабочий handle,
Д>>а когда deviceName = "\\Device\\Harddisk0\\DR0"
Д>>возвращает INVALID_HANDLE_VALUE?

Д>>Утилита WinObj показывает, что

Д>>\\\\.\\PhysicalDrive0 есть символичесий линк на
Д>>\\Device\\Harddisk0\\DR0

З>Напрямую — без kernel поддержки — как я знаю вы не сможете открыть этот обьект.

З>Потому как user mode не видет \Device



Спасибо
Re: Проблемы с открытием \\Device\\Harddisk0\\DR0
От: MShura  
Дата: 16.09.04 10:08
Оценка: +1
Здравствуйте, Димитрий, Вы писали:

Д>Почему

Д>CreateFile(deviceName,
Д> GENERIC_READ, FILE_SHARE_READ,
Д> NULL, OPEN_EXISTING, 0, NULL);

Д>когда deviceName = "\\\\.\\PhysicalDrive0"

Д>возвращает рабочий handle,
Д>а когда deviceName = "\\Device\\Harddisk0\\DR0"
Д>возвращает INVALID_HANDLE_VALUE?

Д>Утилита WinObj показывает, что

Д>\\\\.\\PhysicalDrive0 есть символичесий линк на
Д>\\Device\\Harddisk0\\DR0

Чтобы работать с именем "\\Device\\Harddisk0\\DR0"
надо юзать не WIN32 API функции, а функции из ntdll.dll
NtOpenFile, NtCreateFile
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.