SoHAttributeValue-Union
Hinweis
Die Netzwerkzugriffsschutzplattform ist ab Windows 10
Die SoHAttributeValue-Union definiert den Inhalt des Typmembers in einer SoHAttribute-Struktur. Die Struktur der SoHAttributeValue-Union wird durch den SoHAttributeType bestimmt, der im Typmember der SoHAttribute-Struktur angegeben ist.
Syntax
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;
Member
-
idVal
-
case(sohAttributeTypeSystemHealthId)
Eine eindeutige SystemHealthEntityId , die die ID des SystemIntegritäts-Agents (SHA) oder des System Health Validator (SHV) enthält, der dieses SoH-Paket erstellt hat.
-
v4AddressesVal
-
case(sohAttributeTypeIpv4FixupServers)
Die IPv4-Adressen der vom NAP-System verwendeten Fixupserver.
-
count
-
Die Anzahl der IPv4-Adressen im Adresselement im Bereich 1 bis maxIpv4CountPerSoHAttribute.
-
addresses
-
Ein Array von Ipv4Address-Strukturen , die die IPv4-Adressen enthalten.
-
-
v6AddressesVal
-
case(sohAttributeTypeIpv6FixupServers)
Die IPv6-Adressen der vom NAP-System verwendeten Fixupserver.
-
count
-
Die Anzahl der IPv4-Adressen im Adresselement im Bereich 1 bis maxIpv6CountPerSoHAttribute.
-
addresses
-
Ein Array von Ipv6Address-Strukturen , die die IPv4-Adressen enthalten.
-
-
codesVal
-
case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)
Eine ResultCodes-Struktur , die entweder die von der Anwendung definierten Konformitätsergebniscodes des Clients oder NAP-Fehlerkonstanten enthält. Ein SoH-Paket muss diesen TLV oder den TLV sohAttributeTypeFailureCategory enthalten.
-
dateTimeVal
-
case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)
Eine FILETIME-Struktur , die die Zeit des letzten SoH-Updates oder die SoH-Generierungszeit enthält.
-
vendorSpecificVal
-
case(sohAttributeTypeVendorSpecific)
Anwendungsspezifische Daten, die vom Anbieter definiert werden.
-
Vendorid
-
Ein 4-Byte-Bezeichner, der die SHA/SHV-Paar-ID definiert. Die ersten 3 Bytes sind der vom IETF zugewiesene SMI-Code des Anbieters, und das letzte Byte identifiziert die Komponente selbst. Verwenden Sie beim Implementieren eines SHA oder SHV nicht die ID-Werte, die internen Microsoft-Systemintegritätskomponenten für NAP-Anbieterkonstanten zugewiesen sind.
-
size
-
Die Größe der Anbieterdaten in Bytes im Bereich 0 bis (maxSoHAttributeSize - 4).
-
vendorSpecificData
-
Ein Zeiger auf die anbieterspezifischen Daten in Netzwerkbytereihenfolge.
-
-
uint8Val
-
case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)
Die Integritätsklasse, Fehlerkategorie oder erweiterter Isolationsstatus einer NAP-Komponente als HealthClassValue - oder FailureCategory-Wert oder als IsolationInfoEx-Struktur .
-
octetStringVal
-
default
Die Werte der folgenden Attribute sind Oktettzeichenfolgen:
- sohAttributeTypeSoftwareVersion
- sohAttributeTypeClientId
- sohAttributeTypeProductName
- sohAttributeTypeHealthClassStatus
Aus Gründen der Vorwärtskompatibilität werden alle nicht erkannten Attribute als Oktettzeichenfolgen zurückgegeben. Die Daten müssen sich in der Reihenfolge des Netzwerkbytes befinden.
-
size
-
Die Größe von Daten in Bytes im Bereich 0 bis maxSoHAttributeSize.
-
data
-
Ein Zeiger auf den Oktettzeichenfolgenwert.
Tatsächliches Datenlayout
Aufgrund der Art der SDK-Veröffentlichungsumgebung sind Vereinigungen in Syntaxblöcken nicht eindeutig dargestellt. Hier sehen Sie die tatsächliche Syntax aus der Headerdatei 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;
};
Bemerkungen
Diese Attributtypen werden vom NAP-System verwendet:
- sohAttributeTypeSystemHealthId
- sohAttributeTypeIpv4FixupServers
- sohAttributeTypeIpv6FixupServers
- sohAttributeTypeComplianceResultCodes
- sohAttributeTypeFailureCategory
Die restlichen SoHAttributeTypes sind rein als präskriptive Anleitung für die Verwendung durch SHAs und SHVs gedacht.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2008 [nur Desktop-Apps] |
Header |
|
IDL |
|