Форум: "Система";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
ВнизЕсть *.vxd - файл. Как заставить систему видеть *.vxd файл? Найти похожие ветки
← →
Chieftain (2003-06-18 18:26) [0]Дело в том, что на некоторых машинах код:
VxDHandle := CreateFile("\\.\IDE21201.VXD", 0, 0, nil, 0,
FILE_FLAG_DELETE_ON_CLOSE, 0);
if VxDHandle <> INVALID_HANDLE_VALUE then begin
...
end
else begin
WriteLn(SysErrorMessage(GetLastError));
end;
Вызывает ошибку: Системе не удается найти указанный файл
И ваще, что значит "\\.\"?
← →
NightAngel (2003-06-18 21:48) [1]При этом "\\.\IDE21201.VXD" если открыть VXD удалось, то значит драйвер сидит в памяти. Что происходит: Фактически, после вызова CreateFileA мы попадаем в Kernel32!ORD_0001, эта функция эмулирует VxDCall, она нас приводит к функции vxd-шки VWIN32 под названием _VWIN32_ReleaseWin32Mutex и затем мы получаем список DDB и ищем что задано. Она не грузит vxd, а просто посылает им DIOC_OPEN и DIOC_CLOSEHANDLE сообщения и находит как динамически так и не динамически загруженные VXD .
Вам необходимо, сначала загрузить VXD, а потом уже пытаться получить его HANDLE.
← →
NightAngel (2003-06-18 22:39) [2]И если Вы пытаетесь загрузить VXD, где он у Вас находиться?
← →
Chieftain (2003-06-19 10:19) [3]Ваще VxD находится в той же директории, что и exe-файл. Проблема на самом деле в том, что на некоторых компах прога и так прекрасно работает, а на некоторых умудряется не находить VxD-шек, находящихся в Windows\System и Windows\System\Iosubsys. Еще одна неприятность - на тех компах что мне доступны - прога работает, а пользователи находящиеся в других городах жалуются. Как же тут нормально поковыряешся?
Спасибо за ответ, кое что начало проясняться.
Только сразу же возникает вопрос, а как гарантированно можно загрузить VxD? :)
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c