Condividi tramite


Aggiunta ed eliminazione di modelli LAN

Per aggiungere un modello WOL (wake-on-LAN), i driver del protocollo NDIS rilasciano una richiesta di set OID di OID_PM_ADD_WOL_PATTERN. Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_PM_WOL_PATTERN . I driver di protocollo devono specificare un pacchetto WOL se tale pacchetto WOL è supportato da una scheda di rete. Quando la scheda di rete non supporta il pacchetto WOL, il driver del protocollo deve usare il metodo di riattivazione bitmap WOL.

NDIS_PM_WOL_PATTERN include le informazioni seguenti:

Priorità
Contiene la priorità del modello WOL. Se un driver overlying aggiunge un modello WOL con priorità superiore quando non sono disponibili risorse per altri modelli WOL, NDIS potrebbe rimuovere un modello WOL con priorità inferiore per liberare risorse. I driver miniport devono ignorare questo membro. Un driver di protocollo può specificare qualsiasi priorità all'interno dell'intervallo pre-definito da NDIS_PM_WOL_PRIORITY_LOWEST a NDIS_PM_WOL_PRIORITY_HIGHEST.

WoLPacketType
Contiene un valore di enumerazione NDIS_PM_WOL_PACKET che specifica il tipo del pacchetto WOL.

Friendlyname
Contiene una struttura NDIS_PM_COUNTED_STRING che contiene la descrizione leggibile dall'utente del pacchetto WOL.

PatternId
Contiene un valore fornito da NDIS che identifica il modello WOL. Prima che NDIS invii la richiesta OID OID_PM_ADD_WOL_PATTERN fino ai driver NDIS sottostanti o completa la richiesta al driver overlying, NDIS imposta PatternId su un valore univoco tra i modelli WOL in una scheda di rete.

NextWoLPatternOffset
Contiene l'offset (dall'inizio della richiesta OID InformationBuffer) di una struttura NDIS_PM_WOL_PATTERN alla struttura NDIS_PM_WOL_PATTERN successiva in un elenco per l'OID OID_PM_WOL_PATTERN_LIST. Per altre informazioni su OID_PM_WOL_PATTERN_LIST, vedere Ottenere le impostazioni correnti dei modelli WOL.

WoLPattern
Contiene una delle strutture IPv4TcpSynParameters, IPv6TcpSynParameters, EapolRequestIdMessageParameters o WoLBitMapPattern in un'unione.

IPv4TcpSynParameters
Contiene informazioni sulla sincronizzazione TCP IPv4 (SYN).

IPv6TcpSynParameters
Contiene informazioni TCP SYN IPv6.

EapolRequestIdMessageParameters
Contiene 802.1X EAP su LAN (EAPOL) parametri del messaggio di identità delle richieste.

WoLBitMapPattern
Contiene una specifica del modello bitmap WOL.

NDIS assegna un identificatore univoco per la scheda di rete a ogni modello WOL. L'identificatore del modello è un valore univoco per ognuno dei modelli impostati in una scheda di rete. Tuttavia, l'identificatore del modello non è univoco a livello globale in tutte le schede di rete. NDIS passa l'identificatore alla scheda di rete sottostante quando NDIS invia la richiesta OID OID_PM_ADD_WOL_PATTERN al driver miniport. Se l'aggiunta del modello WOL ha esito positivo, NDIS restituisce l'identificatore al driver overlying che ha aggiunto il modello WOL. Il driver overlying usa l'identificatore per rimuovere un modello WOL aggiunto in precedenza. L'identificatore del modello viene usato anche nelle indicazioni sullo stato dei driver overlying quando un modello WOL viene rimosso da una scheda di rete.

I driver del protocollo devono emettere la richiesta del set OID di OID_PM_REMOVE_WOL_PATTERN per rimuovere tutti i modelli aggiunti a una scheda di rete prima di chiudere un'associazione a tale scheda di rete. Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a un identificatore di modello.

Le applicazioni in modalità utente usano il GUID WMI GUID_PM_REMOVE_WOL_PATTERN per rimuovere un modello WOL aggiunto in precedenza da una scheda di rete. NDIS converte questa richiesta WMI nella richiesta del set OID di OID_PM_REMOVE_WOL_PATTERN per la scheda di rete. NDIS elimina tutti i modelli WOL aggiunti da un'applicazione dalla scheda di rete prima di arrestare la scheda di rete.

NDIS consente a più driver di protocollo NDIS di aggiungere modelli WOL alla stessa scheda di rete. Per assicurarsi che il set corretto di modelli WOL sia stato impostato quando il numero di modelli WOL richiesti è superiore a quello che una scheda di rete può supportare, i driver di protocollo assegnano una priorità a ogni modello WOL richiesto nel membro Priorità della struttura NDIS_PM_WOL_PATTERN. Quando NDIS non può aggiungere un nuovo modello WOL con priorità elevata perché la scheda di rete non è disponibile, NDIS elimina uno dei modelli di priorità inferiore (se presente) e tenta di aggiungere di nuovo il modello con priorità elevata.

Nota Un driver miniport deve avere esito negativo su una richiesta di aggiunta modello e restituire il codice di stato STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL per consentire a NDIS di riesezionare i modelli.

Se NDIS elimina uno dei modelli di priorità inferiore, avvisa il driver sovralizzante che imposta il modello eliminato con un'indicazione di stato NDIS_STATUS_PM_WOL_PATTERN_REJECTED . Il membro StatusBuffer della struttura NDIS_STATUS_INDICATION contiene un ULONG per l'identificatore del modello WOL rifiutato. NDIS ha fornito l'identificatore di modello WOL nel membro PatternId della struttura NDIS_PM_WOL_PATTERN .

Per la scheda di rete wireless che potrebbe usare un elemento infrastruttura per scaricare i modelli mentre si sposta nell'infrastruttura, un nuovo elemento dell'infrastruttura potrebbe non supportare le stesse funzionalità e il driver miniport può inviare un'indicazione di stato NDIS_STATUS_PM_WOL_PATTERN_REJECTED con un codice di stato appropriato.