NdisMIdleNotificationConfirm function (ndis.h)

Miniport drivers call NdisMIdleNotificationConfirm to notify NDIS that the idle network adapter can safely be suspended and transitioned to a low-power state.

Miniport drivers call this function during an NDIS selective suspend operation. NDIS begins the operation when it calls the driver's MiniportIdleNotification handler function.

Syntax

void NdisMIdleNotificationConfirm(
  [in] NDIS_HANDLE             MiniportAdapterHandle,
  [in] NDIS_DEVICE_POWER_STATE IdlePowerState
);

Parameters

[in] MiniportAdapterHandle

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

[in] IdlePowerState

An NDIS_DEVICE_POWER_STATE enumeration value that specifies the lowest power state that the network adapter supports for a low-power state transition.

Note  For USB network adapters, this parameter must be NdisDeviceStateD2.
 

Return value

None

Remarks

Miniport drivers call NdisMIdleNotificationConfirm after NDIS calls the driver's MiniportIdleNotification function. By calling NdisMIdleNotificationConfirm, the driver notifies NDIS that the suspend operation can start and the network adapter can be transitioned to a low-power state. In this call, the miniport driver sets the IdlePowerState parameter to the lowest power state that the device can transition to.

Before the miniport driver calls NdisMIdleNotificationConfirm, it must issue any bus-specific I/O request packets (IRPs) that may be necessary to selectively suspend the network adapter.

For example, when NDIS calls the MiniportIdleNotification function, the USB miniport driver issues the bus-specific I/O request packet (IRP) for a USB idle request (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) to the USB bus driver. When the USB bus driver confirms that the network adapter can transition to a low-power state, it calls the callback routine associated with the IRP. Within the context of the callback routine, the USB miniport driver calls NdisMIdleNotificationConfirm. For more information, see Implementing a USB Idle Request IRP Callback Routine.

Note  A miniport driver must not call NdisMIdleNotificationConfirm for an idle notification that was previously completed. The miniport driver completes the idle notification by calling NdisMIdleNotificationComplete.
 
For more information about how to handle NDIS selective suspend idle notifications, see Handling the NDIS Selective Suspend Idle Notification.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.30 and later.
Target Platform Universal
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL

See also

IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION

MiniportIdleNotification

NdisMIdleNotificationComplete