MINIPORT_CANCEL_IDLE_NOTIFICATION callback function

NDIS calls the MiniportCancelIdleNotification handler function to notify the miniport driver that NDIS has detected activity on the suspended network adapter. Because of this, NDIS cancels the idle notification so that the network adapter can be transitioned to a full-power state.

Syntax

MINIPORT_CANCEL_IDLE_NOTIFICATION MiniportCancelIdleNotification;

void MiniportCancelIdleNotification(
  NDIS_HANDLE MiniportAdapterContext
)
{...}

Parameters

MiniportAdapterContext

A handle to a context area that the miniport driver allocated in its MiniportInitializeEx function. The miniport driver uses this context area to maintain state information for a network adapter.

Return Value

None

Remarks

The MiniportCancelIdleNotification handler function is required for miniport drivers that support the NDIS selective suspend interface. For more information about how the driver registers its selective suspend handler functions, see Registering NDIS Selective Suspend Handler Functions.

NDIS calls the miniport driver's MiniportIdleNotification handler function to start an NDIS selective suspend operation on an idle network adapter. After the network adapter has been suspended and transitioned to a low-power state, NDIS can cancel the outstanding idle notification if any of the following conditions are true:

  • An overlying protocol or filter driver issues either a send packet request or an OID request to the miniport driver.

  • The underlying adapter signals a wake-up event, such as receiving a packet that matches a wake-on-LAN (WOL) pattern or detecting a change in its media connection status.

NDIS cancels the idle notification by calling MiniportCancelIdleNotification. When this handler function is called, the miniport driver first cancels any bus-specific I/O request packets (IRPs) that it may have previously issued for the idle notification. Finally, the miniport driver calls NdisMIdleNotificationComplete to complete the idle notification.

For more information about how NDIS cancels the idle notification, see Canceling the NDIS Selective Suspend Idle Notification.

For guidelines on how to implement the MiniportCancelIdleNotification handler function and IRP completion routines, see Implementing a MiniportCancelIdleNotification Handler Function.

Requirements

   
Windows version Supported in NDIS 6.30 and later.
Target Platform Windows
Header ndis.h (include Ndis.h)
IRQL PASSIVE_LEVEL

See Also

IoCancelIrp

MiniportIdleNotification

NdisMIdleNotificationComplete