Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Драйвер для нескольких устройств под w2k  (Прочитано 11534 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
DDKarp
Гость
« : 25-02-2010 13:17 » 

Был написан драйвер для PCI-ой шины под WinXp, все откомпилилось, все работало.
Для учета нескольких устройств используется функция RtlStringCbPrintfW со следующими параметрами:

Код:
WCHAR 		wcBuffer[32];
size_t    cbDest = 32 * sizeof(WCHAR);
LPCWSTR        pszFormat = L"%s%d";
WCHAR*        pszTxt = L"\\Device\\Rk64";
ULONG nNum = 0;
Соответственно получается функция:
Код:
RtlStringCbPrintfW(wcBuffer, cbDest, pszFormat, pszTxt, nNum);

Возникла необходимость откомпилить этот же драйвер под w2k. При компиляции в DDK  вылезает следующая ошибка:
unresolved external symbol __imp__vsnwprintf referenced in function _RtlStringVPrintfWorker@16.
На сколько я понимаю vsnwprintf, как раз включена в функцию RtlStringCbPrintfW.
Как исправить данную проблему?

Заранее Спасибо.
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 25-02-2010 14:17 » 

Хедер в Win2K надо поключать так:

Код:
#define NTSTRSAFE_LIB
#include <ntstrsafe.h>

а в sources надо в TARGETLIBS добавить $(DDK_LIB_PATH)\ntstrsafe.lib и всё должно быть хорошо.

Раз уж такая тема пошла, то и у меня к тебе вопрос: ты написал прям драйвер для PCI-ой шины? Или драйвер для PCI устройства?
Записан
DDKarp
Гость
« Ответ #2 : 27-02-2010 08:18 » 

для PCIого устройства
Записан
DDKarp
Гость
« Ответ #3 : 27-02-2010 08:19 » new

спасибо за помощь
Записан
DDKarp
Гость
« Ответ #4 : 01-03-2010 13:10 » 

откомпилиться то он откомпилился, вот тока при установки на w2k, с присутствующим физическим устройством (под который драйвер и написан) вылезает синий экран со следующими ошибками:
Date Stamp 3ee650b3 - ntoskrnl.exe
STOP 0x0000006b (0xc000012f, 0xxxxxxxxx, 0xxxxxxxxx,0xxxxxxxxx)
kmode_exception_not_handled
 
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 01-03-2010 13:37 » 

а чему у вас DDK_LIB_PATH равен?)
в DDK не один ntstrsafe.lib лежит
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DDKarp
Гость
« Ответ #6 : 01-03-2010 13:52 » 

DDK_LIB_PATH равен D:\WINDDK\2600.1106\lib\w2k\i386
Но, изначально этого файла не было, пришлось скопировать из D:\WINDDK\2600.1106\lib\wxp\i386 то бишь ентот файл сделан под XP а не под W2K, я так понимаю ошибка именно из за этого? Если да, то где взять ntstrsafe.lib для W2K?
« Последнее редактирование: 01-03-2010 14:05 от DDKarp » Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 01-03-2010 15:11 » 

я не помню откуда он у меня взялся, но он у меня есть)
для DDK\3790.1830\lib\w2k\i386\ntstrsafe.lib размер 938196 байт
и  DDK\6001.18001\lib\w2k\i386\ntstrsafe.lib размер 2465294 байта
помоему я не компилил. если вы его взяли от XP - чего ж вы хотите?)
PS поставьте новый DDK)
« Последнее редактирование: 01-03-2010 15:13 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DDKarp
Гость
« Ответ #8 : 02-03-2010 09:22 » 

А не могли бы скинуть мне на мыло эти два файла? Конечно если они подходят для DDK 2600?
Sauron386@mail.ru
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 02-03-2010 14:15 » 

скинул с хедерами.
но повторяю. поставьте НОВЫЙ DDK! если не планируется под Seven то 6001-й
не помню какие, но два лежат тут https://club.shelek.ru/viewfiles.php?id=2
остальные все никак не выложу...
« Последнее редактирование: 02-03-2010 14:18 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DDKarp
Гость
« Ответ #10 : 03-03-2010 06:21 » 

Большое человеческое спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines