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