Compartilhar via


Visão geral do suporte do NDIS para versões de cabeçalho

Muitas estruturas NDIS incluem informações de versão da estrutura. Os drivers NDIS ou NDIS inicializam o membro Header em tais estruturas, conforme necessário para cada estrutura. Os drivers NDIS devem marcar as informações de versão, se houver, em cada estrutura antes de acessarem os membros da estrutura.

O membro Header é uma estrutura NDIS_OBJECT_HEADER . Essa estrutura contém o número de revisão, o tipo e o tamanho da estrutura que inclui o membro Header .

As estruturas que incluem o membro Header atendem aos seguintes requisitos:

  • A estrutura terá um novo valor de revisão se novas informações forem adicionadas à lista de membros para uma nova versão do NDIS. Por exemplo, se a versão NDIS 6.1 da estrutura tiver novos membros no final da lista de membros, em uma união ou em uma máscara de bits, ela terá um valor de revisão diferente da versão NDIS 6.0.

  • Depois que uma estrutura é alterada, o tamanho da revisão posterior da estrutura pode ser igual ou maior que o tamanho da revisão anterior da estrutura, mas não será menor. Se o novo tamanho for maior que o tamanho da revisão anterior, os novos membros serão adicionados no final da lista de membros.

  • Uma estrutura só terá uma nova revisão se as informações de revisão anteriores ainda forem válidas e concluídas. Ou seja, a nova versão da estrutura contém um superconjunto dos membros de versões mais antigas. Nota Se qualquer uma das condições anteriores não puder ser atendida, o NDIS fornecerá uma nova estrutura com um novo nome que substitui a estrutura existente em vez de fornecer uma versão revisada da estrutura existente.

  • Os drivers NDIS sempre devem usar os valores de revisão predefinidos. O NDIS fornece essas definições no formulário Xxx_REVISION_Nn e NDIS_SIZEOF_Xxx_REVISION_Nn, para os membros de Revisão e Tamanho de NDIS_OBJECT_HEADER respectivamente. Além disso, Xxx representa o nome da estrutura e Nn é o número de revisão. Por exemplo, a revisão e o tamanho da primeira revisão da estrutura NDIS_FILTER_PARTIAL_CHARACTERISTICS são NDIS_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1 e NDIS_SIZEOF_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1 respectivamente.

  • O valor Header.Size deve ser consistente com o valor Header.Revision . Ou seja, se o membro Revision contiver Xxx_REVISION_1, o valor do membro Size deverá ser igual ou maior que NDIS_SIZEOF_Xxx_REVISION_1.

Visão geral das versões do NDIS

Especificando informações de versão do NDIS