Compartilhar via


NDIS_HD_SPLIT_ATTRIBUTES estrutura (ndis.h)

A estrutura NDIS_HD_SPLIT_ATTRIBUTES define atributos de divisão de dados de cabeçalho, se houver, associados a um adaptador de miniporto.

Sintaxe

typedef struct _NDIS_HD_SPLIT_ATTRIBUTES {
  NDIS_OBJECT_HEADER Header;
  ULONG              HardwareCapabilities;
  ULONG              CurrentCapabilities;
  ULONG              HDSplitFlags;
  ULONG              BackfillSize;
  ULONG              MaxHeaderSize;
} NDIS_HD_SPLIT_ATTRIBUTES, *PNDIS_HD_SPLIT_ATTRIBUTES;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura de características do provedor (NDIS_HD_SPLIT_ATTRIBUTES). O driver define o membro tipo da estrutura que de Cabeçalho especifica para NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES, o membro de Revisão de para NDIS_OBJECT_HD_SPLIT_ATTRIBUTES_REVISION_1 e o membro tamanho do para NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1.

HardwareCapabilities

Os recursos de hardware de divisão de dados de cabeçalho compatíveis com o adaptador de miniporto. Esses recursos devem incluir recursos que estão desabilitados no momento pelas configurações de arquivo INF ou por meio da página de propriedades do Avançado. O valor de HardwareCapabilities é um OR bit a bit dos seguintes sinalizadores:

NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT

O adaptador de miniporto pode dividir o cabeçalho e os dados em MDLs separadas que atendem aos requisitos de suporte à divisão de dados de cabeçalho.

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

O adaptador de miniporto pode dividir quadros Ethernet IPv4 que incluem opções IPv4. O adaptador de miniporto pode dar suporte à divisão de algumas opções IPv4, sem dividir outras.

Observação A NIC não deve dividir quadros IPv4 que contêm opções IPv4 sem suporte. Se um quadro IPv4 for dividido, a parte do cabeçalho do quadro dividido deverá conter todo o cabeçalho IPv4 e todas as opções IPv4 presentes.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

O adaptador de miniport pode dividir quadros Ethernet IPv6 que incluem cabeçalhos de extensão IPv6. O adaptador de miniporto pode dar suporte a alguns cabeçalhos de extensão IPv6, sem dar suporte a outros.

Observação A NIC não deve dividir quadros IPv6 que contêm cabeçalhos de extensão IPv6 sem suporte. Se um quadro IPv6 for dividido, a parte do cabeçalho do quadro dividido deverá conter todo o cabeçalho IPv6 e todos os cabeçalhos de extensão IPv6 presentes.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS

O adaptador de miniporto pode dividir quadros TCP com outras opções de TCP, além da opção de carimbo de data/hora. O adaptador de miniporto pode dar suporte a algumas opções TCP e não dar suporte a outras.

Observação Se a única opção TCP em um quadro for a opção de carimbo de data/hora, o provedor de divisão de dados deverá ser capaz de dividir o quadro.
 
Observação Se um cabeçalho TCP contiver uma opção TCP sem suporte, a NIC deverá dividir o quadro no início do cabeçalho TCP ou não deve dividir o quadro.
 

CurrentCapabilities

Os recursos atuais de divisão de dados de cabeçalho compatíveis com o adaptador de miniporto. O driver de miniporto usa os mesmos sinalizadores definidos para o membro HardwareCapabilities membro. Nesse caso, os sinalizadores são definidos para indicar os recursos atuais que dependem das configurações atuais.

HDSplitFlags

Um conjunto de sinalizadores que controlam o status da divisão de dados de cabeçalho para um adaptador de miniporto. O driver de miniporto deve definir esse membro como zero antes de chamar o função NdisMSetMiniportAttributes. Depois que NdisMSetMiniportAttributes retorna com êxito, o driver deve verificar os sinalizadores e configurar o hardware adequadamente. O NDIS define esse membro com um OR bit a bit dos seguintes sinalizadores:

NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT

Se esse sinalizador estiver definido, o driver de miniporto deverá habilitar a divisão de dados de cabeçalho no hardware. Caso contrário, a divisão de dados de cabeçalho está desabilitada. Se o computador usar a divisão de dados de cabeçalho e o driver de miniporto também definir o sinalizador NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT no membro CurrentCapabilities, os conjuntos de NDIS NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.

BackfillSize

O tamanho do arquivo de fundo, em bytes, para a parte de dados de um quadro dividido. O driver de miniporto deve ser definido
BackfillSize a zero antes de chamar NdisMSetMiniportAttributes. O NDIS define esse membro se o driver de miniporto precisar alocar previamente o armazenamento de backfill na parte de dados para quadros divididos. Depois que NdisMSetMiniportAttributes retorna com êxito, o driver deve usar o valor BackfillSize que o NDIS definiu para alocar previamente os buffers de dados.

MaxHeaderSize

O tamanho máximo, em bytes, para a parte de cabeçalho de um quadro dividido. O driver de miniporto deve definir MaxHeaderSize como zero antes de chamar NdisMSetMiniportAttributes. O NDIS define esse membro como o tamanho máximo do buffer de cabeçalho para quadros divididos. Depois que NdisMSetMiniportAttributes retorna com êxito, o driver deve usar o valor fornecido pelo NDIS.

Observação Se o comprimento de um cabeçalho exceder MaxHeaderSize devido à presença de opções IPv4, cabeçalhos IPSec ou cabeçalhos de extensão IPv6, o quadro não deve ser dividido. Se um cabeçalho que inclui um cabeçalho TCP ou UDP exceder MaxHeaderSize devido à presença de cabeçalho TCP, opções TCP ou cabeçalho UDP, a NIC deverá dividir o quadro no início do cabeçalho do protocolo de camada superior ou não deve dividir o quadro.
 

Observações

Para dar suporte à divisão de dados de cabeçalho, um driver de miniporto passa um ponteiro para um NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES estrutura no parâmetro MiniportAttributes do função NdisMSetMiniportAttributes. O HDSplitAttributes membro do NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES contém um ponteiro para a estrutura NDIS_HD_SPLIT_ATTRIBUTES. Um driver de miniporto chama NdisMSetMiniportAttributes de sua função MiniportInitializeEx durante a inicialização.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.1 e posterior.
cabeçalho ndis.h (inclua Ndis.h)

Consulte também

MiniportInitializeEx

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes