Share via


Unión SoHAttributeValue

Nota

La plataforma protección de acceso a redes no está disponible a partir de Windows 10

La unión SoHAttributeValue define el contenido del miembro de tipo en una estructura SoHAttribute . La estructura de la unión SoHAttributeValue viene determinada por el SoHAttributeType especificado en el miembro de tipo de la estructura SoHAttribute .

Sintaxis

typedef union tagSoHAttributeValue {
  SystemHealthEntityId     idVal;
  struct tagIpv4Addresses {
    UINT16      count;
    Ipv4Address *addresses;
  } v4AddressesVal;
  struct tagIpv6Addresses {
    UINT16      count;
    Ipv6Address *addresses;
  } v6AddressesVal;
  ResultCodes              codesVal;
  FILETIME                 dateTimeVal;
  struct tagVendorSpecific {
    UINT32 vendorId;
    UINT16 size;
    BYTE   *vendorSpecificData;
  } vendorSpecificVal;
  UINT8                    uint8Val;
  struct tagOctetString {
    UINT16 size;
    BYTE   *data;
  } octetStringVal;
} SoHAttributeValue;

Miembros

idVal

case(sohAttributeTypeSystemHealthId)

SystemHealthEntityId único que contiene el identificador del Agente de mantenimiento del sistema (SHA) o validador de estado del sistema (SHV) que construyó este paquete SoH.

v4AddressesVal

case(sohAttributeTypeIpv4FixupServers)

Las direcciones IPv4 de los servidores de corrección que usa el sistema NAP.

count

Número de direcciones IPv4 en el miembro addresses del intervalo de 1 a maxIpv4CountPerSoHAttribute.

addresses

Matriz de estructuras Ipv4Address que contienen las direcciones IPv4.

v6AddressesVal

case(sohAttributeTypeIpv6FixupServers)

Las direcciones IPv6 de los servidores de corrección que usa el sistema NAP.

count

Número de direcciones IPv4 del miembro addresses del intervalo de 1 a maxIpv6CountPerSoHAttribute.

addresses

Matriz de estructuras Ipv6Address que contienen las direcciones IPv4.

codesVal

case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)

Estructura ResultCodes que contiene los códigos de resultado de cumplimiento definidos por la aplicación de las constantes de error de NAP o cliente. Un paquete SoH debe contener este TLV o el TLV sohAttributeTypeFailureCategory TLV.

dateTimeVal

case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)

Estructura FILETIME que contiene la hora de la última actualización de SoH o la hora de generación de SoH .

vendorSpecificVal

case(sohAttributeTypeVendorSpecific)

Datos específicos de la aplicación definidos por el proveedor.

vendorId

Identificador de 4 bytes que define el identificador de par SHA/SHV. Los primeros 3 bytes son el código SMI asignado por IETF del proveedor y el último byte identifica el propio componente. Al implementar un SHA o SHV, no use los valores de identificador asignados a los componentes internos de mantenimiento del sistema de Microsoft en constantes de proveedor de NAP.

size

Tamaño, en bytes, de los datos del proveedor del intervalo de 0 a (maxSoHAttributeSize - 4).

vendorSpecificData

Puntero a los datos específicos del proveedor en el orden de bytes de red.

uint8Val

case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)

La clase de mantenimiento, la categoría de error o el estado de aislamiento extendido de un componente NAP como un valor HealthClassValue o FailureCategory , o una estructura IsolationInfoEx .

octetStringVal

default

Los valores de los atributos siguientes son cadenas de octetos:

  • sohAttributeTypeSoftwareVersion
  • sohAttributeTypeClientId
  • sohAttributeTypeProductName
  • sohAttributeTypeHealthClassStatus

Para la compatibilidad con reenvíos, todos los atributos no reconocidos se devuelven como cadenas de octetos. los datos deben estar en orden de bytes de red.

size

Tamaño, en bytes, de datos del intervalo de 0 a maxSoHAttributeSize.

data

Puntero al valor de cadena del octeto.

Diseño de datos real

Debido a la naturaleza del entorno de publicación del SDK, las uniones no se representan claramente en bloques de sintaxis. Esta es la sintaxis real del archivo de encabezado NapProtocol.h.

#include <windows.h>

typedef [switch_type(SoHAttributeType)] 
   union tagSoHAttributeValue
   {
      [case(sohAttributeTypeSystemHealthId)]
         SystemHealthEntityId idVal;
   
      [case(sohAttributeTypeIpv4FixupServers)]
         struct tagIpv4Addresses
         {
            [range(1, maxIpv4CountPerSoHAttribute)] 
               UINT16 count;
            [size_is(count)] Ipv4Address* addresses;
         } v4AddressesVal;

      [case(sohAttributeTypeIpv6FixupServers)]
         struct tagIpv6Addresses
         {
            [range(1, maxIpv6CountPerSoHAttribute)]
               UINT16 count;
            [size_is(count)] Ipv6Address* addresses;
         } v6AddressesVal;

      [case(sohAttributeTypeComplianceResultCodes, 
            sohAttributeTypeErrorCodes)]
         ResultCodes codesVal;

      [case(sohAttributeTypeTimeOfLastUpdate, 
            sohAttributeTypeSoHGenerationTime)]
         FILETIME dateTimeVal;

      [case(sohAttributeTypeVendorSpecific)]
         struct tagVendorSpecific
         {
            UINT32 vendorId;
            [range(0, maxSoHAttributeSize - 4)] 
               UINT16 size;
            [size_is(size)] BYTE* vendorSpecificData;
         } vendorSpecificVal;

      [case(sohAttributeTypeHealthClass, 
            sohAttributeTypeFailureCategory,
            sohAttributeTypeExtendedIsolationState)]
         UINT8 uint8Val;

      [default]
         struct tagOctetString
         {
            [range(0, maxSoHAttributeSize)] UINT16 size;
            [size_is(size)] BYTE* data;
         } octetStringVal;

   } SoHAttributeValue;
};

Observaciones

El sistema NAP consume estos tipos de atributos:

  • sohAttributeTypeSystemHealthId
  • sohAttributeTypeIpv4FixupServers
  • sohAttributeTypeIpv6FixupServers
  • sohAttributeTypeComplianceResultCodes
  • sohAttributeTypeFailureCategory

El resto de soHAttributeTypes están pensados exclusivamente como guía prescriptiva para el uso por parte de shAs y SHV.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
NapProtocol.h
IDL
NapProtocol.idl

Vea también

Referencia de NAP

Estructuras NAP