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.

For more information about NDIS 6.30 features, see Introduction to NDIS 6.30.

Build Environment and Testing

  • 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.

General Porting Requirements

Wi-Fi Direct Miniport Drivers

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.

USB-Based WWAN (Mobile Broadband) Miniport Drivers

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.