Condividi tramite


OID_OFFLOAD_ENCAPSULATION

Come richiesta di query, i driver overlying usano l'OID OID_OFFLOAD_ENCAPSULATION per ottenere le impostazioni di incapsulamento dell'attività corrente di un adattatore miniport sottostante. NDIS gestisce questa query OID per i driver miniport.

Come richiesta impostata, i driver overlying usano l'OID OID_OFFLOAD_ENCAPSULATION per impostare le impostazioni di incapsulamento dell'attività di un adattatore miniport sottostante. I driver Miniport che supportano l'offload delle attività devono gestire questa richiesta di set OID.

Commenti

Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene una struttura NDIS_OFFLOAD_ENCAPSULATION .

Driver Miniport

Se un driver miniport non supporta l'offload e questo OID, il driver deve restituire NDIS_STATUS_NOT_SUPPORTED.

I driver Miniport devono usare il contenuto della struttura NDIS_OFFLOAD_ENCAPSULATION per aggiornare le funzionalità di offload TCP attualmente segnalate. Dopo l'aggiornamento, il driver miniport deve segnalare le funzionalità di offload delle attività correnti con l'indicazione dello stato NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG. Questa indicazione di stato garantisce che tutti i driver di protocollo overlying vengano aggiornati con le nuove informazioni sulle funzionalità.

Questo OID viene usato per attivare tutti gli offload configurati o abilitati oppure disattivare tutti gli offload(in altre parole, l'hardware inizia a eseguire gli offload). Non fornisce un controllo corretto sui singoli offload. Al contrario, OID_TCP_OFFLOAD_PARAMETERS viene usato per configurare singoli offload e può anche attivarli. In genere, la maggior parte degli offload di attività TCP/IP può essere configurata e attivata con OID_TCP_OFFLOAD_PARAMETERS.

Tuttavia, la struttura NDIS_OFFLOAD_ENCAPSULATION dell'OID riguarda anche altri due tipi di incapsulamento non coperti dalla struttura NDIS_OFFLOAD_PARAMETERS di OID_TCP_OFFLOAD_PARAMETERS : NDIS_ENCAPSULATION_IEEE_802_3 e NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED. I driver Miniport devono gestire questa differenza nei tipi di incapsulamento coperti dai diversi OID.

Se questo OID viene emesso dal driver del protocollo per disattivare tutti gli offload, il membro Abilitato del membro NDIS_OFFLOAD_ENCAPSULATION verrà impostato su NDIS_OFFLOAD_SET_OFF.

Impostazione dell'incapsulamento (driver di protocollo)

I driver di protocollo impostano OID_OFFLOAD_ENCAPSULATION dopo aver determinato i requisiti di incapsulamento del sistema. Un driver di protocollo può determinare le funzionalità dell'adattatore miniport sottostante dalla struttura NDIS_BIND_PARAMETERS o eseguendo query su OID_TCP_OFFLOAD_CURRENT_CONFIG. Il driver di protocollo deve impostare un tipo di incapsulamento supportato dall'adattatore miniport in almeno un servizio di offload.

Se un driver miniport supporta qualsiasi tipo di offload che supporta il tipo di incapsulamento richiesto, il driver deve restituire NDIS_STATUS_SUCCESS in risposta a un set di OID_OFFLOAD_ENCAPSULATION. In caso contrario, il driver miniport deve restituire NDIS_STATUS_INVALID_PARAMETER.

Per le operazioni di invio, un driver di protocollo può inviare richieste usando solo i tipi di offload supportati dall'adattatore miniport con il tipo di incapsulamento richiesto. Pertanto, se una richiesta di set OID di OID_OFFLOAD_ENCAPSULATION ha esito negativo, il driver del protocollo non deve usare alcuna impostazione di offload nelle richieste di invio indirizzate a tale adattatore miniport.

Per le operazioni di ricezione, il driver miniport non deve avviare i servizi di offload checksum o IPsec (Internet Protocol Security) fino a quando non riceve una richiesta di set OID di OID_OFFLOAD_ENCAPSULATION.

Recupero delle impostazioni di incapsulamento correnti (driver di protocollo)

Un driver di protocollo può eseguire una query OID_OFFLOAD_ENCAPSULATION solo dopo aver impostato l'OID OID_OFFLOAD_ENCAPSULATION.

NDIS risponde con una struttura NDIS_OFFLOAD_ENCAPSULATION che contiene le impostazioni di incapsulamento correnti.

I driver di protocollo devono essere preparati per gestire qualsiasi codice di errore NDIS_STATUS_Xxx. Se si verifica un errore, il driver del protocollo non deve tentare di eseguire operazioni di offload indirizzate all'adattatore miniport interessato.

Vedi anche

NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG

Requisiti

Versione: Windows Vista e intestazione successiva: Ntddndis.h (include Ndis.h)