Share via


Implement MiniportPause to Pause the Adapter (Compact 2013)

3/26/2014

The miniport adapter pause capability is a new feature in NDIS 6.0. NDIS calls your miniport driver's MiniportPause entry point function to stop data flow before performing a Plug and Play operation (such as adding or removing a filter driver or binding or unbinding a protocol driver). Typically, your MiniportPause function performs the following operations:

  1. Sets the adapter state to the Pausing state.
  2. Completes all pending send operations.
  3. Waits for NDIS to return all outstanding receive indications.
  4. Sets the adapter state to a Paused state.

Your driver's MiniportPause function first places the miniport adapter in the Pausing state and completes any operations that are required to stop send and receive operations for a miniport adapter. Your driver must wait for NDIS to return all outstanding receive indications. The miniport adapter remains in the Pausing state until the pause operation has completed. Your miniport driver cannot fail a pause operation.

When the pause operation is complete, the miniport adapter enters the Paused state. When a miniport adapter is in the Paused state, your miniport driver does not indicate received network data or accept send requests. When a miniport adapter is in the Pausing state and the pause operation is complete, the miniport adapter enters the Paused state.

Windows Embedded Compact includes a sample NDIS 6.0 driver that implements MiniportPause. The sample driver is located at:

%_WINCEROOT%\Public\Common\Oak\Drivers\Netcard\E100bex\60

The source file mp_main.c includes the function MPPause, which implements MiniportPause functionality for this driver.

See Also

Concepts

Add Miniport Adapter Pause and Restart Support for NDIS 6.0