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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка примеров из DDK  (Прочитано 10712 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Doctor
Гость
« : 18-09-2003 07:32 » 

Поставил себе DDK 2600.1106 для WinXP с целью писать драйвера под USB. Visual C++ 6.0 уже был поставлен.

После установки запустил checked environment, там setenv.bat. Затем build -cZ.

Вроде бы всё скомпилировалось.
Через пару дней, поразбиравшись с документацией, пришёл к выводу, что стоит начать с bulkusb. Сюрприз-сюрприз, именно этот пример не скомпилировался. При попытке сделать build -cZ в его директории выдаёт море ошибок, начиная с:
sys\bulkusb.h(191) : error C2061: syntax error : identifier 'PUSB_IDLE_CALLBACK_INFO'
sys\bulkusb.h(235) : error C2059: syntax error : '}'
sys\bulkusb.h(240) : error C2061: syntax error : identifier 'PDEVICE_EXTENSION'
sys\bulkusb.h(244) : error C2059: syntax error : '}'


Я так понимаю, что где-то, я что-то напутал с настройками хотя и не очень понимаю где мог.
Подскажите, как исправить. В драйверах я новичок.
Записан
Anonymous
Гость
« Ответ #1 : 18-09-2003 07:33 » 

если подробнее, то:
BUILD: Examining c:\winddk\2600.1106\src\wdm\usb\bulkusb directory tree for files to compile.
Building generated files in c:\winddk\2600.1106\src\wdm\usb\bulkusb\sys ********************
'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 PASS0ONLY=1 386=1'

Stop.
Compiling c:\winddk\2600.1106\src\wdm\usb\bulkusb\exe directory ********************
'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 386=1'
    rc -l 409 -DSXS_ASSEMBLY_NAME=""""""  -DSXS_ASSEMBLY_VERSION=""""""  -DSXS_ASSEMBLY_LANGUAGE=""""""  -DSXS_PROCESSOR_ARCHITECTURE="""x86"""  -DSXS_TARGET="""RwBulk.exe"""   -DSYSTEM_COMPATIBLE_ASSEMBLY_NAME="""Microsoft.Windows.SystemCompatible"""  -DLSYSTEM_COMPATIBLE_ASSEMBLY_NAME=L"""Microsoft.Windows.SystemCompatible"""   -z "MS Sans Serif,Helv/MS Shell Dlg"  -r -fo objchk_w2K_x86\i386\rwbulk.tmp -D_X86_=1 -Di386=1  -DSTD_CALL -DCONDITION_HANDLING=1   -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0500 /DWINVER=0x0500 -D_WIN32_IE=0x0501    -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -D__BUILDMACHINE__=WinDDK -DFPO=0  -DNDEBUG    -Ic:\winddk\2600.1106\inc\mfc42 -I..\sys -Iobjchk_w2K_x86\i386 -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\crt .\rwbulk.rc


cl -nologo -Ii386\ -I. -Ic:\winddk\2600.1106\inc\mfc42 -I..\sys -Iobjchk_w2K_x86\i386 -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\crt -D_X86_=1 -Di386=1  -DSTD_CALL -DCONDITION_HANDLING=1   -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0500 /DWINVER=0x0500 -D_WIN32_IE=0x0501    -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -D__BUILDMACHINE__=WinDDK -DFPO=0  -DNDEBUG      /c /Zel /Zp8 /Gy  /W3 /WX /Gz  /QIfdiv- /QIf /G6 /Gi- /Gm- /GX-  /GR- /GF  -Z7 /Od /Oi /Oy-   -FIc:\winddk\2600.1106\inc\w2K\warning.h   .\rwbulk.c
rwbulk.c

Stop.
Compiling c:\winddk\2600.1106\src\wdm\usb\bulkusb\sys directory ********************
'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 386=1'
    rc -l 409 -DSXS_ASSEMBLY_NAME=""""""  -DSXS_ASSEMBLY_VERSION=""""""  -DSXS_ASSEMBLY_LANGUAGE=""""""  -DSXS_PROCESSOR_ARCHITECTURE="""x86"""  -DSXS_TARGET="""bulkusb.sys"""   -DSYSTEM_COMPATIBLE_ASSEMBLY_NAME="""Microsoft.Windows.SystemCompatible"""  -DLSYSTEM_COMPATIBLE_ASSEMBLY_NAME=L"""Microsoft.Windows.SystemCompatible"""   -z "MS Sans Serif,Helv/MS Shell Dlg"  -r -fo objchk_w2K_x86\i386\bulkusb.tmp -D_X86_=1 -Di386=1  -DSTD_CALL -DCONDITION_HANDLING=1   -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0500 /DWINVER=0x0500 -D_WIN32_IE=0x0501    -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -D__BUILDMACHINE__=WinDDK -DFPO=0  -DNDEBUG -D_DLL=1  -DWMI_SUPPORT -DUSB2   -Ic:\winddk\2600.1106\inc\mfc42 -I\nt\private\ntos\inc -I..\..\inc -Iobjchk_w2K_x86\i386 -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\ddk\w2K -Ic:\winddk\2600.1106\inc\ddk\wdm\w2K -Ic:\winddk\2600.1106\inc\crt .\bulkusb.rc


cl -nologo -Ii386\ -I. -Ic:\winddk\2600.1106\inc\mfc42 -I\nt\private\ntos\inc -I..\..\inc -Iobjchk_w2K_x86\i386 -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\w2K -Ic:\winddk\2600.1106\inc\ddk\w2K -Ic:\winddk\2600.1106\inc\ddk\wdm\w2K -Ic:\winddk\2600.1106\inc\crt -D_X86_=1 -Di386=1  -DSTD_CALL -DCONDITION_HANDLING=1   -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0500 /DWINVER=0x0500 -D_WIN32_IE=0x0501    -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -D__BUILDMACHINE__=WinDDK -DFPO=0  -DNDEBUG -D_DLL=1  -DWMI_SUPPORT -DUSB2     /c /Zel /Zp8 /Gy -cbstring /W3 /WX /WX /Gz  /QIfdiv- /QIf /G6 /Gi- /Gm- /GX-  /GR- /GF  -Z7 /Od /Oi /Oy-   -FIc:\winddk\2600.1106\inc\w2K\warning.h   .\bulkusb.c .\bulkpnp.c .\bulkpwr.c .\bulkdev.c .\bulkwmi.c .\bulkrwr.c
bulkusb.c
c:\WINDDK\2600.1106\src\wdm\usb\bulkusb\sys\bulkusb.h(191) : error C2061: syntax error : identifier 'PUSB_IDLE_CALLBACK_INFO'
c:\WINDDK\2600.1106\src\wdm\usb\bulkusb\sys\bulkusb.h(235) : error C2059: syntax error : '}'
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #2 : 18-09-2003 07:55 » 

Судя по фразе - syntax error : identifier 'PUSB_IDLE_CALLBACK_INFO'  не находят определение этой структуры. Запусти поиск по директории c:\winddk\2600.1106\inc\ddk\wdm\w2K фразы PUSB_IDLE_CALLBACK_INFO, ее скорее всего не окажется, а потом запусти поиск по   c:\winddk\2600.1106\inc\ddk\wdm\wxp, там должны найти. Это значит что надо собирать в окружении для WinXP, просто раньше эта структура была наверно не определена, а драйвер переделали под WinXP с новыми структурами.
Записан
Doctor
Гость
« Ответ #3 : 18-09-2003 10:27 » 

Цитата: SlavaI
Это значит что надо собирать в окружении для WinXP, просто раньше эта структура была наверно не определена, а драйвер переделали под WinXP с новыми структурами.


Нечто похожее на это объяснение, я буквально только что накопал на сайте Майкрософта Улыбаюсь
Вот всегда так, сам найти не можешь, а как только кто-то помогает, оказывается, что решение перед глазами было Улыбаюсь

А будет ли собранный драйвер работать под W2K?
Собственно, моя цель сейчас научиться хоть чему-нибудь с драйверами, чтобы когда придёт реальный заказ написать драйвер под USB
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #4 : 18-09-2003 10:33 » 

Цитата

А будет ли собранный драйвер работать под W2K


Сложно сказать. Может и не работать. Все зависит от того почему не было описания структуры, может потому что недокументирована тогда была(но тогда надо было в новой версии DDK добавить в файлы для w2k), а может ее не используют там, то есть ф-ции про нее не знают и работать значит драйвер не будет.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #5 : 18-09-2003 10:36 » 

Еще имей в виду стеки USB драйверов для Win2k и XP различаются. К тому же в XP есть поддержка USB 2.0 и введен драйвер композитных устройств usbccgp по моему называется. Одним словом надо всегда проверять драйвер как на XP так и на Win2k. На Win2003 все как на XP, то есть все уже утряслось и наверно сильно меняться не будет.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines