Condividi tramite


MINIPORT_IDLE_NOTIFICATION funzione di callback (ndis.h)

NDIS chiama la funzione del gestore MiniportIdleNotification per avviare l'operazione di sospensione selettiva NDIS su una scheda di rete inattiva. Tramite questa operazione, la scheda di rete viene sospesa e passata a uno stato a basso consumo.

Sintassi

MINIPORT_IDLE_NOTIFICATION MiniportIdleNotification;

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

Parametri

[in] MiniportAdapterContext

Handle per un'area di contesto allocata dal driver miniport nella funzione MiniportInitializeEx . Il driver miniport usa questa area di contesto per mantenere le informazioni sullo stato per una scheda di rete.

[in] ForceIdle

Valore BOOLEAN che, se impostato su TRUE, specifica che il driver miniport non deve impostare la notifica di inattività e deve continuare con la transizione dello stato a basso consumo.

Per altre informazioni sul parametro ForceIdle , vedere la sezione Osservazioni.

Valore restituito

MiniportIdleNotification restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_PENDING Il driver miniport ha gestito correttamente la notifica di inattività. La notifica viene lasciata in sospeso finché il driver miniport non chiama NdisMIdleNotificationComplete. Nota: Il driver miniport non deve restituire NDIS_STATUS_SUCCESS da MiniportIdleNotification.
NDIS_STATUS_BUSY Il driver miniport ha veto la notifica di inattività perché la scheda di rete è ancora in uso. Nota:MiniportIdleNotification non deve restituire questo codice di stato se il parametro ForceIdle è impostato su TRUE.
NDIS_STATUS_FAILURE Il driver miniport non è riuscito a rilasciare correttamente un IRP specifico dell'autobus.

Commenti

La funzione del gestore MiniportIdleNotification è necessaria per i driver miniport che supportano l'interfaccia di sospensione selettiva NDIS. Per altre informazioni sul modo in cui il driver registra le funzioni del gestore di sospensione selettiva, vedere Registrazione delle funzioni del gestore di sospensione selettiva NDIS.

NDIS imposta il parametro ForceIdle su FALSE quando la scheda di rete è stata inattiva per più tempo rispetto al periodo di timeout di inattività. Pertanto, NDIS sospende in modo selettivo solo la scheda di rete.

La durata del periodo di timeout di inattività viene specificata dal valore della parola chiave *SSIdleTimeout INF. Per altre informazioni su questa parola chiave, vedere Parole chiave INF standardizzate per la sospensione selettiva NDIS.

Nota

NDIS imposta il parametro ForceIdle su TRUE solo quando un sistema conforme alla tecnologia Always On Always Connected (AOAC) passa a uno stato Connected Standby.

Se il driver miniport determina che viene usata la scheda di rete, può modificare la richiesta di notifica inattiva restituendo NDIS_STATUS_BUSY. In questo modo NDIS riavvia il monitoraggio dell'attività nella scheda di rete.

Se l'adattatore diventa nuovamente inattivo entro il periodo di timeout di inattività, NDIS chiama MiniportIdleNotification.

Nota

Il driver miniport non deve restituire NDIS_STATUS_BUSY se il parametro ForceIdle è impostato su TRUE.

Dopo l'emissione della notifica inattiva, può essere annullata e completata nel modo seguente:

  • NDIS può annullare la notifica di inattività in sospeso se sono vere le condizioni seguenti:

    • Un driver di protocollo o filtro eccessiva genera una richiesta di invio di pacchetti o una richiesta OID al driver miniport.
    • L'adattatore sottostante segnala un evento di riattivazione, ad esempio la ricezione di un pacchetto corrispondente a un modello di riattivazione LAN (WOL) o il rilevamento di una modifica dello stato della connessione multimediale.

    NDIS annulla la notifica di inattività chiamando MiniportCancelIdleNotification. Quando questa funzione del gestore viene chiamata, il driver miniport annulla tutti gli IRP specifici del bus che potrebbero essere stati rilasciati in precedenza per la notifica di inattività. Infine, il driver miniport chiama NdisMIdleNotificationComplete per completare la notifica di inattività.

  • Dopo che la scheda di rete è in stato a basso consumo, il driver miniport può completare la notifica di inattività stessa per riprendere la scheda a uno stato di alimentazione completa. I motivi di questa operazione sono specifici della progettazione e dei requisiti del driver e dell'adattatore.

    Il driver miniport completa la notifica di inattività chiamando NdisMIdleNotificationComplete. Per altre informazioni su come il driver miniport completa la notifica di inattività, vedere Completamento della notifica di inattività selettiva NDIS.

Per altre informazioni su come gestire le notifiche di inattività per la sospensione selettiva NDIS, vedere Gestione della notifica di inattività selettiva NDIS.

Per linee guida su come implementare la funzione del gestore MiniportIdleNotification , vedere Implementazione di una funzione del gestore MiniportIdleNotification.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.30 e versioni successive.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL PASSIVE_LEVEL

Vedi anche

MiniportCancelIdleNotification

NdisMIdleNotificationComplete