Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 517
от 13.03.2008, 15:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 367, Экспертов: 36
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 126434: Глубокоуважаемые эксперты В моей программе (VB6) определялись ЗАВОДСКИЕ номера жестких дисков при помощи следующей функции: CreateFile("\.PhysicalDrive" & CStr(i), GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_...

Вопрос № 126.434
Глубокоуважаемые эксперты
В моей программе (VB6) определялись ЗАВОДСКИЕ номера жестких дисков при помощи следующей функции:

CreateFile("\.PhysicalDrive" & CStr(i), GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&,

OPEN_EXISTING, 0&, 0&)

Функция в цикле, переменная i является счетчиком. Если диска нет, функция возвращает -1.

Работало под всеми ОС, но под Вистой, как выяснилось, не работает: функция сразу возвращает -1. В чем дело: устарела

API-функция, или Виста не допускает к низкоуровневой информации, или, наконец, дело в 64 разрядах?

Заранее благодарен.

Приложение:

Отправлен: 08.03.2008, 14:37
Вопрос задал: Рак Иван Вадимович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: estiGi
Здравствуйте, Рак Иван Вадимович!
под висту не писал никогда плотно, но....
1. попробуйте открывать с минимальным разрешением ... .например, FILE_READ_ATTRIBUTES
2. шары дайте более полные - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE

в конце концов, определить наличие пути можно гораздо проще - вы выбрали один из самых вычурных способов ))
Посмотрите здесь

плюс добавлю специальное АПИ - GetLogicalDriveStrings
Ответ отправил: estiGi (статус: Студент)
Ответ отправлен: 09.03.2008, 04:37
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое за обстоятельный ответ. Проблема оказалась в правах доступа и возникала только если программа выполнялась не из учетной записи администратора (в Win XP), а в Висте, оказывается, администратор по умолчанию ограничен в правах. Но в любом случае из Вашего ответа я узнал для себя много нового. Еще раз большое спасибо.


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.72.3 от 12.03.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное