Summary of Changes Required to Port a Miniport Driver to NDIS 6.30
To update an NDIS 6.x miniport driver to support NDIS 6.30, you must modify it as outlined in the following sections.
- Build Environment and Testing
- General Porting Requirements
- Wi-Fi Direct Miniport Drivers
- USB-Based WWAN (Mobile Broadband) Miniport Drivers
For more information about NDIS 6.30 features, see Introduction to NDIS 6.30.
- Replace the preprocessor definition NDIS60_MINIPORT or NDIS61_MINIPORT or NDIS620_MINIPORT with NDIS630_MINIPORT. For more information, see Compiling an NDIS 6.30 Driver
- Replace the preprocessor definition NDIS60 or NDIS61 or NDIS620, if present, with NDIS630.
Note This item applies only to NDIS intermediate, protocol, and filter drivers. Most NDIS miniport drivers don't need this preprocessor definition.
- In NDIS 6.30, NDIS can call MiniportInitializeEx twice in parallel if there are two adapters plugged into the system at the same time or during system startup. Be sure to test your miniport driver under this "parallel startup" condition.
- Update the major and minor NDIS version number in the NDIS_Xxx_DRIVER_CHARACTERISTICS structure as described in Implementing an NDIS 6.30 Driver.
- For all structures that were updated for NDIS 6.30, miniport drivers need to update the Header member of the structure with the correct Revision and Size values. For more information, see Using NDIS 6.30 Data Structures.
- All miniport drivers should implement the no-pause-on-suspend feature. For more information, see:
During MiniportInitializeEx, a Wi-Fi Direct-capable miniport driver must initialize the default 802.11 MAC entity. It must also report its Wi-Fi Direct and Virtual Wi-Fi capabilities using the NdisMSetMiniportAttributes function.
Note The driver is not required to register with NDIS the NDIS port corresponding to the default MAC entity.
For USB-based Mobile Broadband devices, Windows 8 provides a class driver that works with devices conforming to the MBIM specification. This model is referred to as the Mobile Broadband (MB) Class Driver. However, a class driver cannot support all of the functionality exposed by an MB device. For this reason, the MB feature provides a well-defined mechanism that you can use to extend the class driver functionality. For more information, see MB Device Services.
If your USB-based WWAN miniport driver cannot implement the MB class driver, it must at least implement the NDIS Selective Suspend feature.