differences between NDIS 5.0 and NDIS 5.1

Is there a document somewhere that describes the differences between
NDIS 5.0 and NDIS 5.1? I’m hoping to find some hints about why my driver
might be crashing under 2000, maybe a difference in the way the
XxxReserved fields are used or something. From a crash dump I’ve been
provided with it looks like something is going wrong with buffer
management and the crash is happening when NDIS returns my buffers back
to me. I’m hoping there isn’t a bug in there that just hasn’t presented
itself yet under XP and later…

James

Look for the WDK Topic “NDIS Versions in Network Drivers”.

Thomas F. Divine
http://www.pcausa.com


From: “James Harper”
Sent: Tuesday, October 19, 2010 9:50 AM
To: “Windows System Software Devs Interest List”
Subject: [ntdev] differences between NDIS 5.0 and NDIS 5.1

> Is there a document somewhere that describes the differences between
> NDIS 5.0 and NDIS 5.1? I’m hoping to find some hints about why my driver
> might be crashing under 2000, maybe a difference in the way the
> XxxReserved fields are used or something. From a crash dump I’ve been
> provided with it looks like something is going wrong with buffer
> management and the crash is happening when NDIS returns my buffers back
> to me. I’m hoping there isn’t a bug in there that just hasn’t presented
> itself yet under XP and later…
>
> James
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer

>

Look for the WDK Topic “NDIS Versions in Network Drivers”.

That’s exactly what I’m after.

It says that NDIS 5.1 added support for NdisGetFirstBufferFromPacketSafe
and I’m definitely using that call, but I’m not getting any compiler
errors, and on closer inspection it’s a #define in ndis.h so should work
just fine.

When compiled under NDIS 5.0, I don’t pass
NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS to NdisMSetAttribuesEx (because
that flag doesn’t exist), which according to the docs changes the
behaviour slightly wrt buffer mapping, so it may be bringing out a
subtle bug in my code.

James