Compartir a través de


MINIPORT_IDLE_NOTIFICATION función de devolución de llamada (ndis.h)

NDIS llama a la función de controlador MiniportIdleNotification para iniciar la operación de suspensión selectiva de NDIS en un adaptador de red inactivo. A través de esta operación, el adaptador de red se suspende y pasa a un estado de baja potencia.

Sintaxis

MINIPORT_IDLE_NOTIFICATION MiniportIdleNotification;

NDIS_STATUS MiniportIdleNotification(
  [in] NDIS_HANDLE MiniportAdapterContext,
  [in] BOOLEAN ForceIdle
)
{...}

Parámetros

[in] MiniportAdapterContext

Identificador de un área de contexto que el controlador de miniporta asignó en su función MiniportInitializeEx . El controlador de miniporte usa este área de contexto para mantener la información de estado de un adaptador de red.

[in] ForceIdle

Valor BOOLEAN que, cuando se establece en TRUE, especifica que el controlador de miniporte no debe vetar la notificación inactiva y debe continuar con la transición de estado de baja potencia.

Para obtener más información sobre el parámetro ForceIdle , vea la sección Comentarios.

Valor devuelto

MiniportIdleNotification devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
NDIS_STATUS_PENDING El controlador de miniporte controló correctamente la notificación inactiva. La notificación se deja en un estado pendiente hasta que el controlador de miniporta llama a NdisMIdleNotificationComple. Nota: El controlador de miniport no debe devolver NDIS_STATUS_SUCCESS desde MiniportIdleNotification.
NDIS_STATUS_BUSY El controlador de miniporte ha vetado la notificación inactiva porque el adaptador de red todavía se está usando. Nota: MiniportIdleNotification no debe devolver este código de estado si el parámetro ForceIdle está establecido en TRUE.
NDIS_STATUS_FAILURE El controlador de miniporte no pudo emitir un IRP específico del bus correctamente.

Observaciones

La función de controlador MiniportIdleNotification es necesaria para los controladores de miniporte que admiten la interfaz de suspensión selectiva NDIS. Para obtener más información sobre cómo el controlador registra sus funciones de controlador de suspensión selectiva, consulte Registro de funciones de controlador de suspensión selectiva de NDIS.

NDIS establece el parámetro ForceIdle en FALSE cuando el adaptador de red ha estado inactivo durante más tiempo que el período de tiempo de espera de inactividad. Por lo tanto, NDIS suspende selectivamente solo el adaptador de red.

La duración del período de tiempo de espera de inactividad se especifica mediante el valor de la palabra clave INF *SSIdleTimeout . Para obtener más información sobre esta palabra clave, vea Palabras clave INF estandarizadas para suspensión selectiva de NDIS.

Nota

NDIS establece el parámetro ForceIdle en TRUE solo cuando un sistema compatible con la tecnología AlwaysOn Always Connected (AOAC) está pasando a un estado de espera conectado.

Si el controlador de miniporte determina que se está usando el adaptador de red, puede vetar la solicitud de notificación inactiva devolviendo NDIS_STATUS_BUSY. Esto hace que NDIS reinicie el monitor de actividad en el adaptador de red.

Si el adaptador vuelve a estar inactivo dentro del período de tiempo de espera de inactividad, NDIS llama a MiniportIdleNotification.

Nota

El controlador de miniport no debe devolver NDIS_STATUS_BUSY si el parámetro ForceIdle está establecido en TRUE.

Una vez emitida la notificación inactiva, se puede cancelar y completar de la siguiente manera:

  • NDIS puede cancelar la notificación de inactividad pendiente si se cumplen las condiciones siguientes:

    • Un protocolo excesivo o un controlador de filtro emite una solicitud de envío de paquetes o una solicitud OID al controlador de miniport.
    • El adaptador subyacente indica un evento de reactivación, como recibir un paquete que coincida con un patrón wake-on-LAN (WOL) o detectar un cambio en su estado de conexión multimedia.

    NDIS cancela la notificación inactiva llamando a MiniportCancelIdleNotification. Cuando se llama a esta función de controlador, el controlador de miniporta cancela los IRP específicos del bus que se hayan emitido anteriormente para la notificación inactiva. Por último, el controlador de miniporta llama a NdisMIdleNotificationComple para completar la notificación inactiva.

  • Después de que el adaptador de red esté en estado de baja potencia, el controlador de miniporte puede completar la notificación inactiva en sí para reanudar el adaptador a un estado de energía completa. Las razones para hacerlo son específicas del diseño y los requisitos del controlador y el adaptador.

    El controlador de miniporta completa la notificación inactiva llamando a NdisMIdleNotificationComple. Para obtener más información sobre cómo el controlador de miniporte completa la notificación de inactividad, consulte Finalización de la notificación de suspensión selectiva de suspensión de NDIS.

Para obtener más información sobre cómo controlar las notificaciones inactivas para la suspensión selectiva de NDIS, consulte Control de la notificación de inactividad de suspensión selectiva de NDIS.

Para obtener instrucciones sobre cómo implementar la función de controlador MiniportIdleNotification , consulte Implementación de una función de controlador MiniportIdleNotification.

Requisitos

Requisito Valor
cliente mínimo admitido Compatible con NDIS 6.30 y versiones posteriores.
Plataforma de destino Windows
Encabezado ndis.h (incluya Ndis.h)
IRQL PASSIVE_LEVEL

Consulte también

MiniportCancelIdleNotification

NdisMIdleNotificationComplete