Partager via


Vue d’ensemble de la prise en charge de NDIS pour les versions d’en-tête

De nombreuses structures NDIS incluent des informations de version de structure. Les pilotes NDIS ou NDIS initialisent le membre d’en-tête dans ces structures en fonction des besoins de chaque structure. Les pilotes NDIS doivent case activée les informations de version, le cas échéant, dans chaque structure avant d’accéder aux membres de la structure.

Le membre Header est une structure NDIS_OBJECT_HEADER . Cette structure contient le numéro de révision, le type et la taille de la structure qui inclut le membre Header .

Les structures qui incluent le membre d’en-tête répondent aux exigences suivantes :

  • La structure aura une nouvelle valeur de révision si de nouvelles informations sont ajoutées à la liste des membres pour une nouvelle version de NDIS. Par exemple, si la version NDIS 6.1 de la structure a de nouveaux membres à la fin de la liste des membres, dans une union ou dans un masque de bits, elle aura une valeur de révision différente de la version NDIS 6.0.

  • Une fois la structure modifiée, la taille de la révision ultérieure de la structure peut être égale ou supérieure à la taille de la révision précédente de la structure, mais elle ne sera pas plus petite. Si la nouvelle taille est supérieure à la taille de la révision précédente, les nouveaux membres sont ajoutés à la fin de la liste des membres.

  • Une structure n’aura une nouvelle révision que si les informations de révision antérieures sont toujours valides et complètes. Autrement dit, la nouvelle version de la structure contient un sur-ensemble des membres des anciennes versions. Note Si l’une des conditions précédentes ne peut pas être remplie, NDIS fournit une nouvelle structure avec un nouveau nom qui remplace la structure existante au lieu de fournir une version révisée de la structure existante.

  • Les pilotes NDIS doivent toujours utiliser les valeurs de révision prédéfinies. NDIS fournit ces définitions sous la forme Xxx_REVISION_Nn et NDIS_SIZEOF_Xxx_REVISION_Nn, respectivement pour les membres Revision et Size de NDIS_OBJECT_HEADER . En outre, Xxx représente le nom de la structure et Nn est le numéro de révision. Par exemple, la révision et la taille de la première révision de la structure NDIS_FILTER_PARTIAL_CHARACTERISTICS sont respectivement NDIS_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1 et NDIS_SIZEOF_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1.

  • La valeur Header.Size doit être cohérente avec la valeur Header.Revision . Autrement dit, si le membre Revision contient Xxx_REVISION_1, la valeur du membre Size doit être égale ou supérieure à NDIS_SIZEOF_Xxx_REVISION_1.

Vue d’ensemble des versions de NDIS

Spécification des informations de version NDIS