NdisMIdleNotificationComplete function

Miniport drivers call NdisMIdleNotificationComplete to complete a pending idle notification for an NDIS selective suspend operation. NDIS begins the operation when it calls the driver's MiniportIdleNotification handler function.

Syntax

void NdisMIdleNotificationComplete(
  NDIS_HANDLE MiniportAdapterHandle
);

Parameters

MiniportAdapterHandle

The network adapter handle that NDIS passed to the MiniportAdapterHandle parameter of MiniportInitializeEx.

Return Value

None

Remarks

NDIS calls the miniport driver's MiniportCancelIdleNotification handler function to complete a pending idle notification for an NDIS selective suspend operation. Miniport drivers call NdisMIdleNotificationComplete to notify NDIS that the idle notification is complete for the network adapter. NDIS then transitions the adapter to a full-power state in order to complete the selective suspend operation.

Before the miniport drivers calls NdisMIdleNotificationComplete, it must cancel any bus-specific I/O request packets (IRPs) that it may have previously issued for the idle notification.

For example, when NDIS calls the MiniportIdleNotification function, the USB miniport driver issues the bus-specific USB idle request IRP (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) to the USB bus driver. When NDIS calls the driver's MiniportCancelIdleNotification function, the driver cancels the IRP. When the USB bus driver calls the completion routine that is associated with the IRP, it confirms that the IRP is cancelled and the device can resume to a full-power state. In the context of the completion routine, the miniport driver calls NdisMIdleNotificationComplete. For more information, see Implementing a USB Idle Request IRP Completion Routine.

For more information on how miniport drivers complete NDIS selective suspend idle notifications, see Completing the NDIS Selective Suspend Idle Notification.

Note  A miniport driver must not call NdisMIdleNotificationConfirm for a previously completed idle notification.
 

Requirements

   
Minimum supported client Supported in NDIS 6.30 and later.
Target Platform Universal
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL

See Also

IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION

MiniportCancelIdleNotification

MiniportIdleNotification

NdisMIdleNotificationConfirm