Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аналог vwin32.vxd 
:(
    Опции темы
Renim
Дата 14.5.2002, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть-ли в Win XP аналог vwin32.vxd?
PM MAIL   Вверх
Chingachguk
Дата 15.5.2002, 03:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



С xp не встречался, но, может быть, пригодится:

И в 98-95 нет такого vxd - vwin32. Не случайно CreateFile-у передается имя вот так:

hDevice = CreateFile("\\\\.\\vwin32",...

Это всего лишь затычка в kernel-ле, посылающая вызовы из приложения конкретным vxd-шкам. Т.е. по смыслу это попытка создать некий сервис, позволяющий из win32 вызывать функции(аналоги int 21h,ax=73xxh, IOCTL, и т.п.), не заботясь о том, что на самом деле вызов должен идти к реальному vxd.

Так что, раз тут нет никакой связи с реальными драйверами, то вопрос можно поставить так: есть ли возможность в XP приложениям иметь достаточно низкоуровненвый доступ к устройствам(читать сектора и тп) ? Если да, то
скорее всего, нужен совершенно аналогичный вызов к аналогу kernel-а в XP...


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Renim
  Дата 15.5.2002, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Возможно ты прав. Но почему тогда в MSDN-е написано:
"Windows 95/98/Me provides a VxD named VWIN32.VXD that supports..."
Кстати, в XP CreateFile("\\\\.\\vwin32",... не работает - возвращает
0xffffffff. А GetLastError совместно с FormatMessage говорят, что
"Задан неверный параметр."
PM MAIL   Вверх
Chingachguk
Дата 15.5.2002, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Если писать на СИ, то рабочий код(мы с Sheff-ом проверяли) выглядит именно так, те :

VxDFileName string "\\\\.\\vwin32"+0 (Строка, оканчивающаяся нулем, я просто си не знаю - как это записать точно),

и вызов: CreateFile(VxDFileName,..

На самом деле kernel-у передается вот это имя(если на асм писать):

VxDFileName db '\\.\vwin32',0 ; Имя VxD

и это тоже работает(под 98).

Попробуй в XP передать все-же нуль-терменированную строку, но вроде бы, судя по MSDN и тому, что у тебя возвращает такой Last Error(характерный для того случая, когда передаешь, к примеру, имя несуществующей VxD), нифига не должно работать...

И еще что я думаю... Что такое вызов vwin32 через DeviceIOControl ? Фактически, вызов сервиса драйвера. В 98 как было ? Пишешь свой драйвер(vxd) и зовешь его сервисы, загрузив предварительно либо динамик vxd, либо указав статик-vxd в файле конфигурации(чтобы он дефолтом грузился при старте винд.). Видимо, в NT(XP) необходимо либо искать такой стандартный драйвер(который читает сектора) - там они wdm, вроде бы, называются(кстати, можно попробовать вызвать любой стандартный wdm аналогично), либо писать драйвер самому - а он уже разыщет среди стандартных драйверов wdm такие сервисы, которые тебе нужны...


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Renim
Дата 16.5.2002, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня установлен Win XP... Я задавал поиск файлов *.wdm по всему диску - ниодного не нашел... Vxd-шек нашлось всего 4 штуки. По ходу дела у XP драйвера валяются в каком-то другом формате... И DriverStudio (по крайней мере версия 2.5) про этот формат пока ничего не знает.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

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


 




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


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

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