NDIS_PROTOCOL_DRIVER_CHARACTERISTICS.xxVersion aligned w/NDIS_MINIPORT_CHARACTERISTIC

Hi
I am writing NDIS protocol driver for Win8. So thought will make it a 6.3 protocol driver as my miniport is 6.3 as well (anyways I am changing the name of win8 protocol driver etc). But the WDK I have says for both the below

MajorNdisVersion
The major version of the NDIS library the protocol driver is using. The current value is 0x06.
MinorNdisVersion
The minor NDIS version of the NDIS library that the protocol driver is using. The current value is 0x00.

I am sure above is not true for a miniport (But then the WDK help I am looking at is 7600).
Can I make my protocol driver version to be 6.30 as well?

Also I installed Win8 WDK Kit, where do I find the help for it?

Thanks

You can always find the most up-to-date documentation on msdn.com. However, in this case, this particular page is not yet updated with Windows 8 information. I’ll send out a mail. :slight_smile:

But the basic idea is that you compile your driver with -DNDIS630=1, set NdisMinorVersion to 30, and set NDIS_PROTOCOL_DRIVER_CHARACTERISTICS.Header.Revision to the same as Win7, NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2. (There were no changes to the protocol characteristics block in NDIS 6.30).

See here for an overview of what’s changed:

http://msdn.microsoft.com/en-us/library/hh463937(v=VS.85).aspx

From personal experience of porting about a dozen protocols to 6.30, I can tell you that the difference between 6.20 and 6.30 is very minor (except for new, opt-in features, of course). The main change is that 6.30+ protocols should NOT wait for all send packets to be returned to them when handling NetEventSetPower. (Basically, if you protocol was waiting before, just remove the wait.)

If we don’t have the NDIS 6.30 documentation updated yet, you can always peek in NDIS.H. If you see that a structure has some #ifdef NDIS_SUPPORT_NDIS630 around it, then it’s got some NDIS 6.30-specific behavior; else it is unchanged. For example, NDIS_PROTOCOL_DRIVER_CHARACTERISTICS only varies for NDIS 6.1, and is the same for all subsequent NDIS versions.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com
Sent: Tuesday, September 20, 2011 8:13 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] NDIS_PROTOCOL_DRIVER_CHARACTERISTICS.xxVersion aligned w/NDIS_MINIPORT_CHARACTERISTIC

Hi
I am writing NDIS protocol driver for Win8. So thought will make it a 6.3 protocol driver as my miniport is 6.3 as well (anyways I am changing the name of win8 protocol driver etc). But the WDK I have says for both the below

MajorNdisVersion
The major version of the NDIS library the protocol driver is using. The current value is 0x06.
MinorNdisVersion
The minor NDIS version of the NDIS library that the protocol driver is using. The current value is 0x00.

I am sure above is not true for a miniport (But then the WDK help I am looking at is 7600).
Can I make my protocol driver version to be 6.30 as well?

Also I installed Win8 WDK Kit, where do I find the help for it?

Thanks


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

My previous protocol was 6.0. I will start safe with 6.20.

Thanks for the helpful info/pointers. I will certainly go through ndis.h.

Thanks!