Summary of Changes Required to Port a Protocol Driver to NDIS 6.20
This topic summarizes the changes that are required to port an NDIS 6.x protocol driver to NDIS 6.20.
NDIS 6.20 retains backward compatibility with earlier NDIS versions. For more information about backward compatibility, see NDIS 6.20 Backward Compatibility.
To update a protocol driver to support the NDIS 6.20 environment, you must modify the NDIS 6.x protocol driver as follows:
Build Environment
Replace the preprocessor definition NDIS61 or NDIS60 with NDIS620.
Replace obsolete interfaces with NDIS 6.20 versions. For more information about obsolete interfaces, see Obsolete Interfaces in NDIS 6.20.
Update the following interfaces to support more than 64 processors:
- Receive side scaling (RSS)
- Processor information device driver interfaces
- Resource allocation
- Read and write locks
For more information about supporting more than 64 processors, see Support for More than 64 Processors in NDIS 6.20.
Set the NDIS version to 6.20 in the MajorNdisVersion and MinorNdisVersion members of the NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure that is passed to the NdisRegisterProtocolDriver function.
Set the protocol driver version in the MajorDriverVersion and MinorDriverVersion members of the NDIS_PROTOCOL_DRIVER_CHARACTERISTICS structure to an appropriate driver-specific value.
Protocol Bind and Unbind Operations
Use the latest version of the miniport adapter capabilities advertisement interfaces. The following interfaces have updated capabilities:
- Power Management
- Power Management
- Receive side scaling (RSS)
- Hardware assist (VMQ)
Use the updated versions of these structures:
For information about NDIS structure version information, see Specifying NDIS Version Information.
Use the updated version of the NET_BUFFER structure.
Optionally support the virtual machine queue (VMQ) interface. For more information about VMQ, see Virtual Machine Queue (VMQ) in NDIS 6.20.