Panoramica delle indicazioni sullo stato del motivo della riattivazione NDIS
A partire da NDIS 6.30, i driver miniport generano un'indicazione di stato della riattivazione NDIS (NDIS_STATUS_PM_WAKE_REASON) per notificare a NDIS e driver eccessivamente relativi al motivo di un evento di riattivazione del sistema. Se la scheda di rete genera un evento di riattivazione, il driver miniport invia immediatamente un'indicazione di stato NDIS di NDIS_STATUS_PM_WAKE_REASON quando la scheda di rete riprende a uno stato di alimentazione completa.
Nota Il supporto per le indicazioni di stato del motivo della riattivazione NDIS è facoltativo per i driver miniport Mobile Broadband (MB).
Il driver miniport è configurato con parametri di risparmio energia (PM) tramite una richiesta di set OID (Object Identifier) di OID_PM_PARAMETERS. Questa richiesta OID specifica i parametri PM tramite una struttura NDIS_PM_PARAMETERS .
La struttura NDIS_PM_PARAMETERS specifica i parametri per i tipi di eventi di riattivazione seguenti.
Eventi di riattivazione dei pacchetti ricevuti
La scheda di rete genera un evento di riattivazione se riceve un pacchetto corrispondente a un modello di riattivazione LAN (WOL). I modelli WOL includono i seguenti:
Modelli WOL indipendenti dai supporti, ad esempio pacchetti magic o modelli di dati TCP/IP all'interno del payload del pacchetto. Ad esempio, la struttura NDIS_PM_PARAMETERS potrebbe specificare un modello WOL per un frame TCP SYN.
Modelli WOL specifici del supporto, ad esempio un messaggio SMS (Short Message Service) EAPOL, ad esempio un pacchetto di identificatore di richiesta EAPOL o UN SMS (Mobile Broadband).
Criteri con caratteri jolly che corrispondono a un filtro di ricezione specificato tramite una richiesta di set OID di OID_GEN_CURRENT_PACKET_FILTER.
Nota Per questo tipo di indicazione dello stato del motivo della riattivazione, la scheda di rete deve essere in grado di salvare il pacchetto ricevuto. Il driver deve restituire il pacchetto ricevuto all'interno dell'indicazione di stato.
I modelli WOL vengono specificati tramite il membro EnabledWoLPacketPatterns della struttura NDIS_PM_PARAMETERS .
Eventi di riattivazione specifici del supporto
La scheda di rete genera un evento di riattivazione a causa di un motivo specifico del supporto, ad esempio una disassociazione da un punto di accesso 802.11 (AP) o la ricezione di un messaggio SMS (Mobile Broadband).
Gli eventi di riattivazione di questo tipo vengono specificati tramite il membro MediaSpecificWakeUpEvents della struttura NDIS_PM_PARAMETERS .
Eventi di riattivazione indipendenti dai supporti
La scheda di rete genera un evento di riattivazione a causa di un motivo indipendente dai supporti, ad esempio la connessione multimediale o la disconnessione.
Gli eventi di riattivazione di questo tipo vengono specificati tramite il membro WakeUpFlags della struttura NDIS_PM_PARAMETERS .
Il driver miniport deve seguire queste linee guida per le indicazioni di stato della riattivazione NDIS:
Se il driver miniport supporta la possibilità di emettere indicazioni sui pacchetti di riattivazione, deve segnalare questa capacità quando NDIS chiama la funzione MiniportInitializeEx del driver. Per altre informazioni, vedere Reporting Wake Reason Status Indication Capabilities.For more information, see Reporting Wake Reason Status Indication Capabilities.
Nota Il driver miniport non deve segnalare la sua capacità di emettere indicazioni di stato del motivo della riattivazione NDIS per gli eventi che non sono correlati alla ricezione di un pacchetto WOL.
Quando il driver miniport genera un'indicazione del pacchetto di riattivazione per un pacchetto WOL, deve includere il pacchetto che ha causato l'evento di riattivazione. Per altre informazioni, vedere Indicazioni sullo stato della riattivazione NDIS.
Se la scheda di rete ha generato un segnale di riattivazione, il driver miniport deve emettere un'indicazione di stato NDIS_STATUS_PM_WAKE_REASON . Il driver esegue questa operazione mentre gestisce la richiesta del set OID di OID_PNP_SET_POWER per la transizione a uno stato di alimentazione completa.
Il driver miniport deve emettere un'indicazione di stato NDIS_STATUS_PM_WAKE_REASON prima di emettere un'indicazione di stato correlata all'evento di riattivazione. Ad esempio, se l'evento di riattivazione è dovuto a una modifica dello stato di connettività multimediale, il driver miniport deve emettere un'indicazione di stato NDIS_STATUS_LINK_STATE dopo che ha emesso l'indicazione dello stato NDIS_STATUS_PM_WAKE_REASON .
Il driver miniport deve attivare un'indicazione di stato NDIS_STATUS_PM_WAKE_REASON solo per gli eventi di risparmio energia abilitati in precedenza tramite una richiesta di set OID di OID_PM_PARAMETERS.
Il driver miniport deve emettere un'indicazione di stato NDIS_STATUS_PM_WAKE_REASON solo per gli eventi di riattivazione generati dalla scheda di rete sottostante.