Unione SoHAttributeValue
Nota
La piattaforma Network Access Protection non è disponibile a partire da Windows 10
L'unione SoHAttributeValue definisce il contenuto del membro del tipo in una struttura SoHAttribute . La struttura dell'unione SoHAttributeValue è determinata dal SoHAttributeType specificato nel membro di tipo della struttura SoHAttribute .
Sintassi
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;
Members
-
idVal
-
case(sohAttributeTypeSystemHealthId)
SystemHealthEntityId univoco che contiene l'ID dell'agente di integrità del sistema (SHA) o system health validator (SHV) che ha costruito questo pacchetto SoH.
-
v4AddressesVal
-
case(sohAttributeTypeIpv4FixupServers)
Gli indirizzi IPv4 dei server di correzione in uso dal sistema NAP.
-
count
-
Numero di indirizzi IPv4 nel membro indirizzi nell'intervallo da 1 a maxIpv4CountPerSoHAttribute.
-
Indirizzi
-
Matrice di strutture Ipv4Address che contengono gli indirizzi IPv4.
-
-
v6AddressesVal
-
case(sohAttributeTypeIpv6FixupServers)
Gli indirizzi IPv6 dei server di correzione in uso dal sistema NAP.
-
count
-
Numero di indirizzi IPv4 nel membro indirizzi nell'intervallo da 1 a maxIpv6CountPerSoHAttribute.
-
Indirizzi
-
Matrice di strutture Ipv6Address che contengono gli indirizzi IPv4.
-
-
codesVal
-
case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)
Struttura ResultCodes che contiene i codici di risultato di conformità definiti dall'applicazione delle costanti di errore client o NAP. Un pacchetto SoH deve contenere questo TLV o sohAttributeTypeFailureCategory TLV.
-
dateTimeVal
-
case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)
Struttura FILETIME che contiene l'ora dell'ultimo aggiornamento SoH o dell'ora di generazione soH .
-
vendorSpecificVal
-
case(sohAttributeTypeVendorSpecific)
Dati specifici dell'applicazione definiti dal fornitore.
-
vendorId
-
Identificatore a 4 byte che definisce l'ID coppia SHA/SHV. I primi 3 byte sono il codice SMI assegnato da IETF del fornitore e l'ultimo byte identifica il componente stesso. Quando si implementa uno SHA o SHV, non usare i valori ID assegnati ai componenti interni dell'integrità del sistema Microsoft nelle costanti del fornitore nap.
-
size
-
Dimensioni, in byte, dei dati del fornitore nell'intervallo da 0 a (maxSoHAttributeSize - 4).
-
vendorSpecificData
-
Puntatore ai dati specifici del fornitore nell'ordine di byte di rete.
-
-
uint8Val
-
case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)
Classe di integrità, categoria di errori o stato di isolamento esteso di un componente NAP come valore HealthClassValue o FailureCategory o una struttura IsolationInfoEx .
-
octetStringVal
-
default
I valori degli attributi seguenti sono stringhe ottetto:
- sohAttributeTypeSoftwareVersion
- sohAttributeTypeClientId
- sohAttributeTypeProductName
- sohAttributeTypeHealthClassStatus
Per la compatibilità con l'inoltro, tutti gli attributi non riconosciuti vengono restituiti come stringhe ottetto. i dati devono essere in ordine di byte di rete.
-
size
-
Dimensioni, in byte, di dati nell'intervallo da 0 a maxSoHAttributeSize.
-
data
-
Puntatore al valore della stringa ottet.
Layout dati effettivo
A causa della natura dell'ambiente di pubblicazione SDK, le unioni non sono chiaramente rappresentate nei blocchi di sintassi. Ecco la sintassi effettiva dal file di intestazione 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;
};
Commenti
Questi tipi di attributo vengono usati dal sistema NAP:
- sohAttributeTypeSystemHealthId
- sohAttributeTypeIpv4FixupServers
- sohAttributeTypeIpv6FixupServers
- sohAttributeTypeComplianceResultCodes
- sohAttributeTypeFailureCategory
Il resto dei SoHAttributeTypes è inteso esclusivamente come linee guida prescrittive per l'utilizzo da parte di SHAs e SHV.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista [solo app desktop] |
Server minimo supportato |
Windows Server 2008 [solo app desktop] |
Intestazione |
|
IDL |
|