Compartir a través de


Información general sobre la compatibilidad de NDIS con versiones de encabezado

Muchas estructuras NDIS incluyen información sobre la versión de la estructura. Los controladores NDIS o NDIS inicializan el miembro Header en estructuras como necesarias para cada estructura. Los controladores NDIS deben comprobar la información de versión, si existe, en cada estructura antes de acceder a los miembros de la estructura.

El miembro Header es una estructura NDIS_OBJECT_HEADER . Esta estructura contiene el número de revisión, el tipo y el tamaño de la estructura que incluye el miembro Header .

Las estructuras que incluyen el miembro Header cumplen los siguientes requisitos:

  • La estructura tendrá un nuevo valor de revisión si se agrega información nueva a la lista de miembros para una nueva versión de NDIS. Por ejemplo, si la versión 6.1 de NDIS de la estructura tiene nuevos miembros al final de la lista de miembros, en una unión o en una máscara de bits, tendrá un valor de revisión diferente de la versión NDIS 6.0.

  • Después de cambiar una estructura, el tamaño de la revisión posterior de la estructura puede ser igual o mayor que el tamaño de la revisión anterior de la estructura, pero no será menor. Si el nuevo tamaño es mayor que el tamaño de la revisión anterior, los nuevos miembros se agregan al final de la lista de miembros.

  • Una estructura solo tendrá una nueva revisión si la información de revisión anterior sigue siendo válida y completa. Es decir, la nueva versión de la estructura contiene un superconjunto de los miembros de versiones anteriores. Nota Si no se puede cumplir alguna de las condiciones anteriores, NDIS proporciona una nueva estructura con un nuevo nombre que reemplaza la estructura existente en lugar de proporcionar una versión revisada de la estructura existente.

  • Los controladores NDIS siempre deben usar los valores de revisión predefinidos. NDIS proporciona estas definiciones en forma Xxx_REVISION_Nn y NDIS_SIZEOF_Xxx_REVISION_Nn, para los miembros Revision y Size de NDIS_OBJECT_HEADER respectivamente. Además, Xxx representa el nombre de la estructura y Nn es el número de revisión. Por ejemplo, la revisión y el tamaño de la primera revisión de la estructura de NDIS_FILTER_PARTIAL_CHARACTERISTICS son NDIS_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1 y NDIS_SIZEOF_FILTER_PARTIAL_CHARACTERISTICS_REVISION_1 respectivamente.

  • El valor Header.Size debe ser coherente con el valor Header.Revision . Es decir, si el miembro Revision contiene Xxx_REVISION_1, el valor del miembro Size debe ser igual o mayor que NDIS_SIZEOF_Xxx_REVISION_1.

Introducción a las versiones de NDIS

Especificación de la información de versión de NDIS