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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Насчет статьи Грома  (Прочитано 15631 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Bmx
Гость
« : 05-01-2004 12:35 » 

Пробовал повторить пример из статьи Грома , но вот проблема он после добавления функций

extern NTSTATUS FilterOpen(IN   PDEVICE_OBJECT DeviceObject,IN PIRP Irp);  

При компиляции выдает

missing ')' before identifier 'Irp'
'PIRP' : name in formal parameter list illegal
syntax error : identifier 'Irp'

В чем тут дело ?

Помогите уже 2-ой день сижу над этим
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #1 : 05-01-2004 16:37 » 

Тебе надо посмотреть твои пути к файлам .h я тоже сталкивался с этим, когда компилировал на не правильно созданных Environments.
Записан

А птичку нашу прошу не обижать!!!
grozny
Гость
« Ответ #2 : 06-01-2004 22:25 » 

в инклудах путь до ДДК должен стоять первым, до путей VC во всяком случае
Записан
Bmx
Гость
« Ответ #3 : 07-01-2004 07:05 » 

<Тебе надо посмотреть твои пути к файлам .h >

A kak i gde posmotret Не понял
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #4 : 07-01-2004 07:35 » 

Bmx, Environments - можно ппосмотреть вызав cmd окошко и набрав там SET ты увидишь те переменные среды которые уже выставлены.

А самое главное ты не ответил на мой вопрос, ты собираешь драйвер как при созданных переменных окружения или просто в комманд промпте?
Записан

А птичку нашу прошу не обижать!!!
Bmx
Гость
« Ответ #5 : 07-01-2004 07:48 » 

Zapuskaju Free (Cheked) Build Enviroment i daju komandu build

A vot to chto chto dalo mne komanda set

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 Vi
sual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\i
nclude;C:\Program Files\Microsoft Visual Studio\VC98\include
lib=c:\NTDDK\lib;C:\PROGRA~1\MICROS~3\VC98\LIB;C:\PROGRA~1\MICROS~3\VC98\MFC\LIB
;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsof
t Visual Studio\VC98\lib


Vrode kak vse puti normalnie
Записан
Bmx
Гость
« Ответ #6 : 07-01-2004 07:52 » 

Ja tut vot chto nadumal , kogda proinstalliroval DDK  , to vzjal i s kopiroval .h fajl-@ v direktoriu VC ....

Mojet eto mne sejchas meshaet ?
Записан
Bmx
Гость
« Ответ #7 : 07-01-2004 07:53 » 

I eshe bez dobavlenia

extern NTSTATUS FilterOpen(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp);

Vse normalno compilitsja
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #8 : 07-01-2004 07:56 » 

Bmx, во первых - это может мешать - во вторых - качни с нашего сайта ЧАВО - это архив тарого форума - там очень хорошо распиано по драйверам - мы там много спорили и до многого докопались.

Вот что я нашел по поводу похожей проблемы там:

Цитата

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)
Пиши буду рад помочь всегда.
_________________
Мы строили строили и на...

Записан

А птичку нашу прошу не обижать!!!
Bmx
Гость
« Ответ #9 : 07-01-2004 08:58 » 

Spasibo , s etoj problemoj razobralis teper voznikla eshe odna

Ti ispolzuesh peremenuju GlobalData

   Status = NdisMRegisterDevice( WrapperHandle,
   &ntDeviceName,
   &win32DeviceName,
   MajorFunctions,
   &deviceObject,
   &GlobalData.NdisDeviceHandle );

No ee objalenia netu v kode , chto eto za peremenaja ?
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #10 : 07-01-2004 16:12 » 

Это моя структура - ее не надо вставлять - я в ней храню свои данные для работы алгоритма.
Записан

А птичку нашу прошу не обижать!!!
Anonymous
Гость
« Ответ #11 : 12-01-2004 10:59 » 

Wes'ma navernoe glupij wopros, no poskol'ku nikto mne na nego wrazumitel'nogo otweta dat' ne moget (da i w knigah ja ne nashel), reshil sprosit'.
Po idee driver uznaet o tom s kakim ustrojstwom emu pridetsa imet' delo w DriverEntry ili w AddDevice. No ja ne nachogu nigde imenno etogo objawlenija. Podskagite, please, kak ono dolgno wigl'adet'.
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #12 : 13-01-2004 09:41 » 

Гость, не та тема, в этой теме разговор о драйвере фильтре  - он не работает с устройством.
Задай вопрос отдельно.
Записан

А птичку нашу прошу не обижать!!!
Lemberg
Участник

de
Offline Offline

« Ответ #13 : 13-01-2004 09:57 » 

Sorry. Создал новую тему: "Определение устройства с которым работает драйвер".
Записан
Bmx
Гость
« Ответ #14 : 13-01-2004 14:40 » 

1.Почему при инсталяции выводит passsthru сообщение Digital Signature Not Found.

2. В MPSend добавил код

NTSTATUS   ntstatus;

UNICODE_STRING   fullFileName;
HANDLE         fileHandle;
IO_STATUS_BLOCK iostatus;
OBJECT_ATTRIBUTES oa;

RtlInitUnicodeString(   &fullFileName,L"\\??\\c:\\samolog.txt");

InitializeObjectAttributes(&oa,
                     &fullFileName,
                     OBJ_CASE_INSENSITIVE|OBJ_KERNEL_HANDLE,
                     NULL,
                     NULL);

ntstatus=ZwCreateFile(&fileHandle,
                 GENERIC_WRITE|SYNCHRONIZE,
                 &oa,
                 &iostatus,
                 0,
                 FILE_ATTRIBUTE_NORMAL,
                 FILE_SHARE_WRITE,
                 FILE_OPEN_IF,
                 FILE_SYNCHRONOUS_IO_NONALERT,
                 NULL,
                 0);


if (NT_SUCCESS(ntstatus))
{
   char myString[100]="string Samo\n";

   FILE_STANDARD_INFORMATION fileInfo;


   ntstatus = ZwQueryInformationFile(fileHandle,
                              &iostatus,
                              &fileInfo,
                              sizeof(FILE_STANDARD_INFORMATION),
                              FileStandardInformation);   
   if (NT_SUCCESS(ntstatus))
   {
      LARGE_INTEGER   ByteOffset=fileInfo.EndOfFile;
      ntstatus=ZwWriteFile(fileHandle,
                        NULL,
                        NULL,
                        NULL,
                        &iostatus,
                        myString,12,
                        &ByteOffset,
                        NULL);

      if (!NT_SUCCESS(ntstatus)||iostatus.Information!=12)
      {

      }


   }
   ZwClose(fileHandle);

}

И при инсталяции драйвера система умирает (синий экран)
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #15 : 13-01-2004 14:43 » new

1. Потому как там ее нет, это от Майкрософта запросы на всякие подтверждения правомерности установки- я не знаю как их делать.

2. Вот тут надо смотреть. Славик - глянь на код - если не в лом, ты с файлами работал из драйвера.
Записан

А птичку нашу прошу не обижать!!!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines