Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para suportar a divisão de dados de cabeçalho, um driver de miniporta deve se registrar como um driver NDIS 6.1 ou posterior. O arquivo de origem para o driver de miniporta deve especificar DNDIS61_MINIPORT=1 em vez de DNDIS60_MINIPORT=1. O driver de miniporta também deve especificar NDIS 6.1 ou uma versão mais recente na estrutura NDIS_MINIPORT_DRIVER_CHARACTERISTICS.
Para registar os seus atributos de divisão de dados de cabeçalho, um driver de miniporta NDIS 6.1 chama a função NdisMSetMiniportAttributes da sua função MiniportInitializeEx e passa NdisMSetMiniportAttributes uma estrutura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES inicializada.
A estrutura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES contém as seguintes informações:
O HDSplitAttributes membro do NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES contém um ponteiro para uma estrutura de NDIS_HD_SPLIT_ATTRIBUTES que especifica as capacidades de divisão de cabeçalho e dados que um adaptador de miniporta fornece.
O elemento HardwareCapabilities do NDIS_HD_SPLIT_ATTRIBUTES contém as capacidades de divisão do cabeçalho-dados suportadas pelo adaptador de miniporta. Esses recursos podem incluir funcionalidades que estão atualmente desabilitadas pelas configurações do arquivo INF ou através da página de propriedades avançadas do .
O membro CurrentCapabilities do NDIS_HD_SPLIT_ATTRIBUTES contém as capacidades atuais de divisão cabeçalho-dados suportadas pelo adaptador de miniporta. Se a separação entre cabeçalho e dados estiver habilitada por meio da palavra-chave INF padronizada *HeaderDataSplit, o driver de miniporta usa os mesmos sinalizadores do membro HardwareCapabilities para indicar a configuração atual de separação entre cabeçalho e dados. Para obter mais informações sobre *HeaderDataSplit, consulte Palavras-chave INF padronizadas para divisão Header-Data.
O membro HDSplitFlags do NDIS_HD_SPLIT_ATTRIBUTES contém sinalizadores de configuração de divisão de cabeçalho-dados. O driver de miniporta deve definir esse membro como zero antes de chamar NdisMSetMiniportAttributes. O NDIS define esse membro com um OR bit a bit dos sinalizadores de configuração. Depois que NdisMSetMiniportAttributes retornar com êxito, o driver miniport deve verificar as configurações do sinalizador em HDSplitFlags e configurar o hardware de acordo.
O NDIS usa o sinalizador NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT para habilitar a divisão de dados de cabeçalho para o adaptador de miniporta. O NDIS não irá definir NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT se o driver de miniporta não tiver definido o sinalizador NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT no membro da estrutura CurrentCapabilitiesNDIS_HD_SPLIT_ATTRIBUTES. O driver de miniporta deve ativar a separação de dados de cabeçalho na NIC se o NDIS definir o sinalizador NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.
O driver de miniporta deve definir o atributo membro BackfillSize da estrutura NDIS_HD_SPLIT_ATTRIBUTES como zero antes de chamar NdisMSetMiniportAttributes. O NDIS define o membro BackfillSize se o driver de miniporta precisar pré-alocar o armazenamento de backfill no buffer de dados dos frames divididos. Depois de NdisMSetMiniportAttributes retornar com êxito, o driver da miniporta deve utilizar o valor de BackfillSize especificado pelo NDIS e pré-alocar os buffers de dados. Para obter mais informações sobre o tamanho do preenchimento do buffer de dados, consulte Alocação de Preenchimento para o Buffer de Dados.
O driver de miniporta deve definir o membro MaxHeaderSize da estrutura NDIS_HD_SPLIT_ATTRIBUTES a zero antes de chamar NdisMSetMiniportAttributes. O NDIS define esse membro para o tamanho máximo permitido para o buffer de cabeçalho dos quadros divididos. Depois que NdisMSetMiniportAttributes retornar com êxito, o driver de miniporta deve usar o valor MaxHeaderSize especificado pelo NDIS. Para obter mais informações sobre o tamanho máximo do cabeçalho, consulte Alocando o buffer de cabeçalho.