, во первых - это может мешать - во вторых - качни с нашего сайта ЧАВО - это архив тарого форума - там очень хорошо распиано по драйверам - мы там много спорили и до многого докопались.
Drivers
Тема: Все равно есть проблемы с PIRP в passthru....
--------------------------------------------------------------------------------
FrmeF (15 Мая, 2003 г. - 17:03)
Здравствуйте, я в форуме впервые, так что сильно не ругайте...
У меня здесь тоже проблема с компиляцией passthru и PIRP.Все проблемтакие же как и уважаемого mooner от 02 Мая. Все делаю как в той статье, с которой все началось (не, статья действительно полезная). Короче, все делаю как рекомендовал уважаемый Grom 3 мая в 16:43. Но глухо...
Следуя рекомендациям молодого специалиста grozny полез в дефайны сперва
в ndis.h (кстати, использую я Win2000 Adv.Server и соответственно NTDDK)
где было написано (у меня это строка № 4319) что мол определеня из ntddk.h
могут использоваться только MAC-дровами, а драйверам минипортовым НАПРЯМУЮ пользоваться нельзя. Может кто знает, как же это ненапрямую,
и что это за МАС-драйвера (драйвера сетевухи, что-ли). Может это драйвер по пасу С:NTDDK\src\network\ndis\packet\driver, там PIRP хавается нормально.
Если кто знает в чем дело, отпишите, пожалуйста.
--------------------------------------------------------------------------------
grom (15 Мая, 2003 г. - 20:00)
Т.е. ты утверждаешь, что проинсталлировал драйвер - вошел в стандартные Environments без изменений компилируешь пример passthru и при этом сразу же вылезает ошибка на PIRP
Если так - то мне нужны распечатки всех твоих Environment Variables из окошка build , а так же распечатку самого бмлда passthru!!!
_________________
Мы строили строили и на...
--------------------------------------------------------------------------------
Frme (16 Мая, 2003 г. - 11:10)
Да, все именно так.
Высылаю сперва список переменных:
C:\NTDDK>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Администратор\Application Data
BASEDIR=C:\NTDDK
Basemake=C:\Program Files\Microsoft SDK\Include\BKOffice.Mak
Bkoffice=C:\Program Files\Microsoft SDK\.
BUILD_ALT_DIR=fre
BUILD_DEFAULT=-ei -nmake -i
BUILD_DEFAULT_TARGETS=-386
BUILD_MAKE_PROGRAM=nmake.exe
COFFBASE_TXT_FILE=C:\NTDDK\bin\coffbase.txt
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=FRME
ComSpec=C:\WINNT\system32\cmd.exe
Cpu=i386
CRT_INC_PATH=C:\NTDDK\inc
CRT_LIB_PATH=C:\NTDDK\libfre\*
DDKBUILDENV=free
DDKROOT=C:\NTDDK
DDK_INC_PATH=C:\NTDDK\inc\ddk
DDK_LIB_DEST=C:\NTDDK\libfre
DDK_LIB_PATH=C:\NTDDK\libfre\*
DXSDKROOT=C:\Program Files\Microsoft SDK\.
HOMEDRIVE=C:
HOMEPATH=\
INCLUDE=C:\NTDDK\inc;C:\PROGRA~1\MICROS~3\VC98\ATL\INCLUDE;
C:\PROGRA~1\MICROS~3\VC98\INCLUDE;C:\PROGRA~1\MICROS~3\VC98\MFC\INCLUDE;
C:\Program Files\Microsoft SDK\Include\.;
C:\Program Files\Microsoft Visual Studio\VC98\atl\include;
C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;
C:\Program Files\Microsoft Visual Studio\VC98\include INETSDK=C:\Program Files\Microsoft SDK\.
LIB=C:\NTDDK\lib;C:\PROGRA~1\MICROS~3\VC98\LIB;C:\PROGRA~1\MICROS~3\VC98\MFC\LIB;
C:\Program Files\Microsoft SDK\Lib\.;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;
C:\Program Files\Microsoft Visual Studio\VC98\lib
LOGONSERVER=\\FRME
MSDevDir=C:\PROGRA~1\MICROS~3\Common\msdev98
MSSdk=C:\Program Files\Microsoft SDK\.
Mstools=C:\Program Files\Microsoft SDK\.
MSVCDir=C:\PROGRA~1\MICROS~3\VC98
NEW_CRTS=1
NTDBGFILES=1
NTDEBUG=ntsdnodbg
NTDEBUGTYPE=windbg
NTMAKEENV=C:\NTDDK\bin
NUMBER_OF_PROCESSORS=1
OAK_INC_PATH=C:\NTDDK\inc
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
Path=C:\NTDDK\bin;C:\PROGRA~1\MICROS~3\Common\msdev98\BIN;
C:\PROGRA~1\MICROS~3\VC98\BIN;C:\PROGRA~1\MICROS~3\Common\TOOLS\WINNT;
C:\PROGRA~1\MICROS~3\Common\TOOLS;
C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Microsoft SDK\Bin\.;
C:\Program Files\Microsoft SDK\Bin\WinNT\.;
C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;
C:\Program Files\Microsoft Visual Studio\Common\Tools;
C:\Program Files\Microsoft Visual Studio\VC98\bin;C:\Program Files\Microsoft SDK\Bin\.;
C:\Program Files\Microsoft SDK\Bin\WinNT\.
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 4 Stepping 2, AuthenticAMD
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0402
ProgramFiles=C:\Program Files
PROMPT=$P$G
SDK_INC_PATH=C:\NTDDK\inc
SDK_LIB_DEST=C:\NTDDK\libfre
SDK_LIB_PATH=C:\NTDDK\libfre\*
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\DOCUME~1\9335~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\9335~1\LOCALS~1\Temp
USERDOMAIN=FRME
USERNAME=Administrator
USERPROFILE=C:\Documents and Settings\Администратор
WDM_INC_PATH=C:\NTDDK\inc\ddk\wdm
windir=C:\WINNT
C:\NTDDK>
Теперь сами ошибки при билде:
C:\NTDDK\src\network\ndis\passthru>build -cZ
BUILD: Object root set to: ==> objfre
BUILD: /i switch ignored
BUILD: Compile and Link for i386
BUILD: Compiling c:\ntddk\src\network\ndis\passthru directory
Compiling Precompiled Header - precomp.h for i386
passthru.h(294) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(294) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(294) : error C2061: syntax error : identifier 'Irp'
passthru.h(294) : error C2059: syntax error : ';'
passthru.h(294) : error C2059: syntax error : ')'
passthru.h(296) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(296) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(296) : error C2061: syntax error : identifier 'Irp'
passthru.h(296) : error C2059: syntax error : ';'
passthru.h(296) : error C2059: syntax error : ')'
passthru.h(298) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(298) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(298) : error C2061: syntax error : identifier 'Irp'
passthru.h(298) : error C2059: syntax error : ';'
passthru.h(298) : error C2059: syntax error : ')'
passthru.h(300) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(300) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(300) : error C2061: syntax error : identifier 'Irp'
passthru.h(300) : error C2059: syntax error : ';'
passthru.h(300) : error C2059: syntax error : ')'
passthru.h(302) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(302) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(302) : error C2061: syntax error : identifier 'Irp'
passthru.h(302) : error C2059: syntax error : ';'
passthru.h(302) : error C2059: syntax error : ')'
Compiling Precompiled Header - precomp.h for i386
passthru.h(294) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(294) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(294) : error C2061: syntax error : identifier 'Irp'
passthru.h(294) : error C2059: syntax error : ';'
passthru.h(294) : error C2059: syntax error : ')'
passthru.h(296) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(296) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(296) : error C2061: syntax error : identifier 'Irp'
passthru.h(296) : error C2059: syntax error : ';'
passthru.h(296) : error C2059: syntax error : ')'
passthru.h(298) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(298) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(298) : error C2061: syntax error : identifier 'Irp'
passthru.h(298) : error C2059: syntax error : ';'
passthru.h(298) : error C2059: syntax error : ')'
passthru.h(300) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(300) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(300) : error C2061: syntax error : identifier 'Irp'
passthru.h(300) : error C2059: syntax error : ';'
passthru.h(300) : error C2059: syntax error : ')'
passthru.h(302) : error C2146: syntax error : missing ')' before identifier 'Irp'
passthru.h(302) : error C2081: 'PIRP' : name in formal parameter list illegal
passthru.h(302) : error C2061: syntax error : identifier 'Irp'
passthru.h(302) : error C2059: syntax error : ';'
passthru.h(302) : error C2059: syntax error : ')'
Compiling - passthru.rc for i386
Compiling - passthru.c for i386
passthru.c(5) : error C1083: Cannot open precompiled header file: 'objfre\i386\p
recomp.pch': No such file or directory
Compiling - protocol.c for i386
protocol.c(24) : error C1083: Cannot open precompiled header file: 'objfre\i386\
precomp.pch': No such file or directory
Compiling - miniport.c for i386
miniport.c(23) : error C1083: Cannot open precompiled header file: 'objfre\i386\
precomp.pch': No such file or directory
BUILD: Compile errors: not linking c:\ntddk\src\network\ndis\passthru directory
BUILD: Done
6 files compiled - 53 Errors
C:\NTDDK\src\network\ndis\passthru>
--------------------------------------------------------------------------------
grom (18 Мая, 2003 г. - 09:35)
Ты знаешь - я все перепровеил и у меня все работает - с теми же параметрами, что и у тебя.
Однако разница наша с тобой - у меня отсутствует DXSDK и вообще любой SDK который стоит у тебя...
Возможно конфликт там, между установленными частями.
Могу тебе посоветовать - попробуй поставить только студию и 2kDDK на чистую машину.
Кроме того перепроверь все include диррективы, возможно не хватает чего либо.
У меня было такое 1 раз - мне удалось решить только переустановив все заново....
Перечитал твое первое послание и обратил вниманиe на Advanced Server тип операционки. Думаю что причина может быть и в этом, так как сервер не работает обычно для девелопмента.
_________________
Мы строили строили и на...
--------------------------------------------------------------------------------
FrmeF (19 Мая, 2003 г. - 17:23)
Спасибо, Grom, за потраченное время - будем работать в этом направлении...
Обязательно сообщу о результатах.
Только вот хотелось бы еще узнать версию NTDDK у вас на сайте,
может с моей чего не то... у меня она, кстати, build 2195
--------------------------------------------------------------------------------
grom (19 Мая, 2003 г. - 22:12)
Версия таже - попробуй скачать...возможно у тебя битая...
Всякое возможно, я просто пробовал добиться хоть какого - то совпадения с твоими проблемами - бывает только если неправильно прписаны файл sources или проблемы с переменными окружения.
_________________
Мы строили строили и на...
--------------------------------------------------------------------------------
Frme (22 Мая, 2003 г. - 22:45)
Ну вроде бы уже компилиться....
В sources файле нужно кое-чего добавить,-вместо C_DEFINES=$(C_DEFINES) -DNDIS40 -DNDIS_MINIPORT_DRIVER -DNDIS40_MINIPORT (это в стандартном НТДДК)
нада:
C_DEFINES=$(C_DEFINES) -DNDIS_MINIPORT_DRIVER
C_DEFINES=$(C_DEFINES) -DNDIS40
C_DEFINES=$(C_DEFINES) -DNDIS40_MINIPORT
C_DEFINES=$(C_DEFINES) -DBINARY_COMPATIBLE=0
вроде бы последний дефайн в ndis.h проскальзывает...
ну что ж, благодарен всем за внимание, за помощь
(уважаемому Gromу отдельная благодарность),- ищем следующие траблы...)
--------------------------------------------------------------------------------
grom (22 Мая, 2003 г. - 23:32)
Пиши буду рад помочь всегда.
_________________
Мы строили строили и на...