Hi there!
This was a bad mistake:
In this function, I declare a local variable:
unsigned _int8 databuf[1600];
Please note that you’ve got as far as I know 12 KB for stack in kernel-mode
on NT4. I already have had some simply ridiculous adventures with stack
overflow, having some bigger (>256 bytes) arrays declared as local
variables…
I’d suggest first declaring it as a global variable and trying, just to see
whether checksumming will work at all. And if it works, I’d allocate this
buffer in the routine which uses it…
I think this problem is common to those who develop stuff related to network
communication, I can tell you *g*
Greetings,
Alexander Platonow
----- Original Message -----
From: “liuyicai”
To: “NT Developers Interest List”
Sent: Tuesday, December 26, 2000 9:00 AM
Subject: [ntdev] [ntdev]:About The NDIS Intermediate Driver
> HI,all
>
> I am doing something about the NDIS Intermediate Driver under NT4.0. I
modified the NDIS Intermediate Driver sample :ImSamp source codes which
were downloaded from Microsoft website.
> I encountered with the following problem:
> I processed the Packets from Miniport NIC in the NDIS callback
> function: ProtocolReceivePacket().
> In this function, I declare a local variable:
> unsigned _int8 databuf[1600];
> and I copied the packets data(Include DataLink Frame Header) to
“databuf”,and then I done some modification with the data in “databuf” ,at
last I do something about regenerating the TCP Checksum,I encountered with
PAGE FAULT (I saw it from SoftIce 4.0).
> the codes about regenerating the TCP Checksum is modified from the BOOK:
> <II:Design,Implementation,Internals>>(2nd Edition)
>
> somebody can help me?
> Thanks!!
>
>
>
> liuyicai
> liuyicai@263.net
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@gmx.net
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
Hello! I’m creating a simple ndis intermediate driver and I can’t understand why the miniport interface is not initialized by NDIS when I invoke NdisIMInitializeDeviceInstanceEx(). Here is what i do in my driver:
in DriverEntry():
NdisMInitializeWrapper();
NdisIMRegisterLayeredMiniport();
NdisRegisterProtocol();
NdisIMAssociateMiniport();
in PtBindAdapter():
NdisOpenProtocolConfiguration();
NdisReadConfiguration(); <== UpperBindings
NdisCloseConfiguration();
NdisOpenAdapter();
NdisIMInitializeDeviceInstanceEx();
The only implemented functions are DriverEntry(), PtBindAdapter(), PtOpenAdapterComplete() and MiniportInitialize()
when NdisIMInitializeDeviceInstanceEx() is invoked NDIS should call the MiniportInitialize function. This doesn’t happen even if I don’t get any error from all the invoked functions.
Anyone has a suggestion?
Thanks
Matt
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
It is probably some problem with driver installation, IIRC
NdisIMInitializeDeviceInstanceEx() expects some registry layout and doesn’t
call MiniportInitialize() until can create “correct” adapter. It should
return some error status, doesn’t it? When I had such problems, I traced
through this function and it was relatively easy to find what failed.
Best regards,
Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.com]
From: Matteo Pelati[SMTP:xxxxx@dolce.it]
Reply To: NT Developers Interest List
Sent: Thursday, January 04, 2001 1:56 PM
To: NT Developers Interest List
Subject: [ntdev] ndis intermediate driver
Hello! I’m creating a simple ndis intermediate driver and I can’t
understand why the miniport interface is not initialized by NDIS when I
invoke NdisIMInitializeDeviceInstanceEx(). Here is what i do in my driver:
in DriverEntry():
NdisMInitializeWrapper();
NdisIMRegisterLayeredMiniport();
NdisRegisterProtocol();
NdisIMAssociateMiniport();
in PtBindAdapter():
NdisOpenProtocolConfiguration();
NdisReadConfiguration(); <== UpperBindings
NdisCloseConfiguration();
NdisOpenAdapter();
NdisIMInitializeDeviceInstanceEx();
The only implemented functions are DriverEntry(), PtBindAdapter(),
PtOpenAdapterComplete() and MiniportInitialize()
when NdisIMInitializeDeviceInstanceEx() is invoked NDIS should call the
MiniportInitialize function. This doesn’t happen even if I don’t get any
error from all the invoked functions.
Anyone has a suggestion?
Thanks
Matt
You are currently subscribed to ntdev as: xxxxx@rkk.cz
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com