Partilhar via


OID_OFFLOAD_ENCAPSULATION

Como uma solicitação de consulta, os drivers sobrepostos usam o OID_OFFLOAD_ENCAPSULATION OID para obter as configurações atuais de encapsulamento de descarregamento de tarefas de um adaptador de miniporta subjacente. O NDIS lida com essa consulta OID para drivers de miniporta.

Como uma solicitação definida, os drivers sobrepostos usam o OID_OFFLOAD_ENCAPSULATION OID para definir as configurações de encapsulamento de descarregamento de tarefas de um adaptador de miniporta subjacente. Os drivers de miniporta que suportam o 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.

Drivers de miniporta

Se um driver de miniporta não suporta descarga e este OID, o driver deve retornar NDIS_STATUS_NOT_SUPPORTED.

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

Este OID é usado para ativar todos os descarregamentos configurados ou ativados, ou desativar todos os descarregamentos (em outras palavras, o hardware começa a executar os descarregamentos). Ele não fornece controle fino sobre descargas 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 tarefas TCP/IP pode ser configurada e ativada com OID_TCP_OFFLOAD_PARAMETERS.

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

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

Definindo encapsulamento (drivers de protocolo)

Os drivers de protocolo são definidos OID_OFFLOAD_ENCAPSULATION depois de determinar os requisitos de encapsulamento do sistema. Um driver de protocolo pode determinar os recursos do adaptador de miniporta subjacente a partir 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 miniporta suporta em pelo menos um serviço de descarregamento.

Se um driver de miniporta suportar qualquer tipo de descarregamento que suporte o 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 miniporta deve 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 que o adaptador de miniporta suporta com o tipo de encapsulamento necessário. Portanto, se uma solicitação de conjunto OID de OID_OFFLOAD_ENCAPSULATION falhar, o driver de protocolo não deve usar nenhuma configuração de descarregamento em solicitações de envio direcionadas para esse adaptador de miniporta.

Para operações de recebimento, o driver de miniporta não deve iniciar serviços de descarregamento de soma de verificação ou IPsec até receber uma solicitação de conjunto OID de OID_OFFLOAD_ENCAPSULATION.

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

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

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 deve tentar executar quaisquer operações de descarregamento direcionadas para o adaptador de miniporta afetado.

Ver também

NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG

Requerimentos

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