SoHAttributeValue Union

Notes

La plate-forme 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

cas (sohAttributeTypeSystemHealthId)

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

v4AddressesVal

cas (sohAttributeTypeIpv4FixupServers)

Les adresses IPv4 des serveurs de correction utilisés par le système NAP.

count

Nombre d’adresses IPv4 dans le membre Addresses dans la plage comprise entre 1 et maxIpv4CountPerSoHAttribute.

addresses

Tableau de structures Ipv4Address qui contiennent les adresses IPv4.

v6AddressesVal

cas (sohAttributeTypeIpv6FixupServers)

Les adresses IPv6 des serveurs de correction utilisés par le système NAP.

count

Nombre d’adresses IPv4 dans le membre Addresses dans la plage comprise entre 1 et maxIpv6CountPerSoHAttribute.

addresses

Tableau de structures AdresseIPv6 qui contiennent les adresses IPv4.

codesVal

case (sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)

Structure ResultCodes qui contient les codes de résultat de conformité de l’application définis pour les constantes d’erreurde client ou NAP. Un paquet SOH doit contenir ce TLV ou le sohAttributeTypeFailureCategory TLV.

dateTimeVal

case (sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)

Structure fileTime qui contient l’heure de la dernière mise à jour de déclaration d’intégrité ou la durée de génération de déclaration d’intégrité .

vendorSpecificVal

cas (sohAttributeTypeVendorSpecific)

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

vendorId

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

size

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

Champ vendorspecificdata

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

uint8Val

case (sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory, sohAttributeTypeExtendedIsolationState)

La classe d’intégrité, la catégorie d’échec ou l’état d’isolement étendu d’un composant NAP en tant que valeur HealthClassValue ou FailureCategory , ou 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 des octets du réseau.

size

Taille, en octets, des données dans la plage comprise entre 0 et maxSoHAttributeSize.

data

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

Disposition réelle des données

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 du SoHAttributeTypes est conçu de manière purement normative pour une utilisation par les programmes d’intégrité des intégrité et les SHV.

Spécifications

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

Voir aussi

Référence NAP

Structures NAP