Compartilhar via


OID_OFFLOAD_ENCAPSULATION

Como uma solicitação de consulta, os drivers subjacentes usam o OID OID_OFFLOAD_ENCAPSULATION para obter as configurações atuais de encapsulamento de descarregamento de tarefas de um adaptador de miniporte subjacente. O NDIS manipula essa consulta OID para drivers de miniport.

Como uma solicitação definida, os drivers subjacentes usam o OID OID_OFFLOAD_ENCAPSULATION para definir as configurações de encapsulamento de descarregamento de tarefa de um adaptador de miniporte subjacente. Os drivers de miniport que dão suporte ao descarregamento de tarefas devem lidar com essa solicitação de conjunto de OID.

Comentários

O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém uma estrutura NDIS_OFFLOAD_ENCAPSULATION .

Miniportores

Se um driver de miniporto não der suporte a descarregamento e esse OID, o driver deverá retornar NDIS_STATUS_NOT_SUPPORTED.

Os drivers de miniporto devem usar o conteúdo da estrutura NDIS_OFFLOAD_ENCAPSULATION para atualizar os recursos de descarregamento TCP relatados no momento. Após a atualização, o driver de miniporto deve relatar os recursos atuais de descarregamento de tarefas com a indicação de status NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG. Essa status indicação garante que todos os drivers de protocolo overlying sejam atualizados com as novas informações de recursos.

Essa OID é usada para ativar todos os descarregamentos configurados ou habilitados ou desativar todos os descarregamentos (em outras palavras, o hardware começa a executar os descarregamentos). Ele não fornece controle fino sobre descarregamentos individuais. Em vez disso, OID_TCP_OFFLOAD_PARAMETERS é usado para configurar descarregamentos individuais e também pode ativá-los. Geralmente, a maioria dos descarregamentos de tarefa TCP/IP pode ser configurada e ativada com OID_TCP_OFFLOAD_PARAMETERS.

No entanto, a estrutura NDIS_OFFLOAD_ENCAPSULATION desse OID também abrange dois outros tipos de encapsulamento que não são cobertos pela estrutura NDIS_OFFLOAD_PARAMETERS do OID_TCP_OFFLOAD_PARAMETERS : NDIS_ENCAPSULATION_IEEE_802_3 e NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED. Os drivers de miniporto precisam lidar com essa diferença nos tipos de encapsulamento cobertos pelos diferentes OIDs.

Se essa OID for emitida pelo driver de protocolo para desativar todos os descarregamentos, o membro Enabled do membro NDIS_OFFLOAD_ENCAPSULATION será definido como NDIS_OFFLOAD_SET_OFF.

Configuração de encapsulamento (drivers de protocolo)

Os drivers de protocolo definem OID_OFFLOAD_ENCAPSULATION depois de determinar os requisitos de encapsulamento do sistema. Um driver de protocolo pode determinar os recursos do adaptador de miniporte subjacente da estrutura NDIS_BIND_PARAMETERS ou consultando OID_TCP_OFFLOAD_CURRENT_CONFIG. O driver de protocolo deve definir um tipo de encapsulamento que o adaptador de miniporte dá suporte em pelo menos um serviço de descarregamento.

Se um driver de miniporto der suporte a qualquer tipo de descarregamento que dê suporte ao tipo de encapsulamento solicitado, o driver deverá retornar NDIS_STATUS_SUCCESS em resposta a um conjunto de OID_OFFLOAD_ENCAPSULATION. Caso contrário, o driver de miniporte deverá retornar NDIS_STATUS_INVALID_PARAMETER.

Para operações de envio, um driver de protocolo pode emitir solicitações de envio usando apenas os tipos de descarregamento compatíveis com o adaptador de miniporto com o tipo de encapsulamento necessário. Portanto, se uma solicitação de conjunto de OID de OID_OFFLOAD_ENCAPSULATION falhar, o driver de protocolo não deverá usar nenhuma configuração de descarregamento em solicitações de envio direcionadas para esse adaptador de miniporto.

Para operações de recebimento, o driver de miniporto não deve iniciar a soma de verificação ou os serviços de descarregamento de protocolo de Internet (IPsec) até que ele receba uma solicitação de conjunto de OID de OID_OFFLOAD_ENCAPSULATION.

Obtendo as configurações de encapsulamento atuais (drivers de protocolo)

Um driver de protocolo só pode emitir uma consulta OID_OFFLOAD_ENCAPSULATION depois de definir o OID OID_OFFLOAD_ENCAPSULATION.

O NDIS responde com uma estrutura NDIS_OFFLOAD_ENCAPSULATION que contém as configurações de encapsulamento atuais.

Os drivers de protocolo devem estar preparados para lidar com qualquer código de falha NDIS_STATUS_Xxx. Se ocorrer uma falha, o driver de protocolo não deverá tentar executar nenhuma operação de descarregamento direcionada ao adaptador de miniporto afetado.

Confira também

NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG

Requisitos

Versão: Windows Vista e cabeçalho posterior: Ntddndis.h (inclua Ndis.h)