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
NapProtocol.h
IDL
NapProtocol.idl

Vedi anche

Informazioni di riferimento su NAP

Strutture NAP