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 |
|
IDL |
|