Partager via


Union SoHAttributeValue

Notes

La plateforme de protection d’accès réseau n’est pas disponible à partir de Windows 10

L’union SoHAttributeValue définit le contenu du membre de type dans une structure SoHAttribute . La structure de l’union SoHAttributeValue est déterminée par le SoHAttributeType spécifié dans le membre de type de la structure SoHAttribute .

Syntaxe

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;

Membres

idVal

case(sohAttributeTypeSystemHealthId)

SystemHealthEntityId unique qui contient l’ID de l’agent d’intégrité système (SHA) ou du validateur d’intégrité système (SHV) qui a construit ce paquet SoH.

v4AddressesVal

case(sohAttributeTypeIpv4FixupServers)

Adresses IPv4 des serveurs de correctifs utilisés par le système NAP.

count

Nombre d’adresses IPv4 dans le membre d’adresses dans la plage de 1 à maxIpv4CountPerSoHAttribute.

addresses

Tableau de structures Ipv4Address qui contiennent les adresses IPv4.

v6AddressesVal

case(sohAttributeTypeIpv6FixupServers)

Adresses IPv6 des serveurs de correctifs utilisés par le système NAP.

count

Nombre d’adresses IPv4 dans le membre d’adresses compris entre 1 et maxIpv6CountPerSoHAttribute.

addresses

Tableau de structures Ipv6Address qui contiennent les adresses IPv4.

codesVal

case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)

Structure ResultCodes qui contient les codes de résultat de conformité définis par l’application du client ou des constantes d’erreur NAP. Un paquet SoH doit contenir cette TLV ou le TLV sohAttributeTypeFailureCategory .

dateTimeVal

case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)

Structure FILETIME qui contient l’heure de la dernière mise à jour soH ou l’heure de génération SoH .

vendorSpecificVal

case(sohAttributeTypeVendorSpecific)

Données spécifiques à l’application définies par le fournisseur.

vendorId

Identificateur de 4 octets qui définit l’ID de paire SHA/SHV. Les 3 premiers octets sont le code SMI attribué par l’IETF du fournisseur, et le dernier octet identifie le composant lui-même. Lorsque vous implémentez un SHA ou un SHV, n’utilisez pas les valeurs d’ID affectées aux composants internes d’intégrité du système Microsoft sur les constantes du fournisseur NAP.

size

Taille, en octets, des données du fournisseur dans la plage de 0 à (maxSoHAttributeSize - 4).

vendorSpecificData

Pointeur vers les données spécifiques du fournisseur dans l’ordre d’octets réseau.

uint8Val

case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)

Classe d’intégrité, catégorie d’échec ou état d’isolation étendue d’un composant NAP sous la forme d’une valeur HealthClassValue ou FailureCategory , ou d’une structure IsolationInfoEx .

octetStringVal

default

Les valeurs des attributs suivants sont des chaînes d’octets :

  • sohAttributeTypeSoftwareVersion
  • sohAttributeTypeClientId
  • sohAttributeTypeProductName
  • sohAttributeTypeHealthClassStatus

Pour la compatibilité ascendante, tous les attributs non reconnus sont retournés en tant que chaînes d’octets. les données doivent être dans l’ordre d’octet du réseau.

size

Taille, en octets, des données comprises entre 0 et maxSoHAttributeSize.

data

Pointeur vers la valeur de chaîne d’octet.

Disposition des données réelles

En raison de la nature de l’environnement de publication du SDK, les unions ne sont pas clairement représentées dans les blocs de syntaxe. Voici la syntaxe réelle du fichier d’en-tête 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;
};

Notes

Ces types d’attributs sont consommés par le système NAP :

  • sohAttributeTypeSystemHealthId
  • sohAttributeTypeIpv4FixupServers
  • sohAttributeTypeIpv6FixupServers
  • sohAttributeTypeComplianceResultCodes
  • sohAttributeTypeFailureCategory

Le reste des SoHAttributeTypes est destiné uniquement à des conseils prescriptifs pour l’utilisation par les shAs et les shV.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]
En-tête
NapProtocol.h
IDL
NapProtocol.idl

Voir aussi

Référence NAP

NAP Structures