União SoHAttributeValue

Observação

A plataforma de Proteção de Acesso à Rede não está disponível a partir do Windows 10

A união SoHAttributeValue define o conteúdo do membro do tipo em uma estrutura SoHAttribute . A estrutura da união SoHAttributeValue é determinada pelo SoHAttributeType especificado no membro de tipo da estrutura SoHAttribute .

Sintaxe

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;

Membros

idVal

case(sohAttributeTypeSystemHealthId)

Um SystemHealthEntityId exclusivo que contém a ID do AGENTE de Integridade do Sistema (SHA) ou shv (validador de integridade do sistema) que construiu esse pacote SoH .

v4AddressesVal

case(sohAttributeTypeIpv4FixupServers)

Os endereços IPv4 dos servidores de correção em uso pelo sistema NAP.

contagem

O número de endereços IPv4 no membro de endereços no intervalo de 1 a maxIpv4CountPerSoHAttribute.

addresses

Uma matriz de estruturas Ipv4Address que contêm os endereços IPv4.

v6AddressesVal

case(sohAttributeTypeIpv6FixupServers)

Os endereços IPv6 dos servidores de correção em uso pelo sistema NAP.

contagem

O número de endereços IPv4 no membro de endereços no intervalo de 1 a maxIpv6CountPerSoHAttribute.

addresses

Uma matriz de estruturas Ipv6Address que contêm os endereços IPv4.

codesVal

case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)

Uma estrutura ResultCodes que contém os códigos de resultado de conformidade definidos pelo aplicativo das constantes de erro cliente ou NAP. Um pacote SoH deve conter esse TLV ou o TLV sohAttributeTypeFailureCategory .

dateTimeVal

case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)

Uma estrutura FILETIME que contém a hora da última atualização de SoH ou o tempo de geração de SoH .

vendorSpecificVal

case(sohAttributeTypeVendorSpecific)

Dados específicos do aplicativo definidos pelo fornecedor.

Vendorid

Um identificador de 4 bytes que define a ID do par SHA/SHV. Os três primeiros bytes são o código SMI atribuído por IETF do fornecedor e o último byte identifica o próprio componente. Ao implementar um SHA ou SHV, não use os valores de ID atribuídos a componentes internos de integridade do sistema microsoft em constantes de fornecedor NAP.

size

O tamanho, em bytes, dos dados do fornecedor no intervalo de 0 a (maxSoHAttributeSize - 4).

vendorSpecificData

Um ponteiro para os dados específicos do fornecedor na ordem de bytes de rede.

uint8Val

case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)

A classe de integridade, a categoria de falha ou o estado de isolamento estendido de um componente NAP como um valor HealthClassValue ou FailureCategory ou uma estrutura IsolationInfoEx .

octetStringVal

default

Os valores dos seguintes atributos são cadeias de caracteres de octeto:

  • sohAttributeTypeSoftwareVersion
  • sohAttributeTypeClientId
  • sohAttributeTypeProductName
  • sohAttributeTypeHealthClassStatus

Para compatibilidade futura, todos os atributos não reconhecidos são retornados como cadeias de caracteres de octeto. os dados devem estar em ordem de byte de rede.

size

O tamanho, em bytes, de dados no intervalo de 0 a maxSoHAttributeSize.

data

Um ponteiro para o valor da cadeia de caracteres de octeto.

Layout de dados real

Devido à natureza do ambiente de publicação do SDK, os sindicatos não são claramente representados em blocos de sintaxe. Aqui está a sintaxe real do arquivo de cabeçalho 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;
};

Comentários

Esses tipos de atributo são consumidos pelo sistema NAP:

  • sohAttributeTypeSystemHealthId
  • sohAttributeTypeIpv4FixupServers
  • sohAttributeTypeIpv6FixupServers
  • sohAttributeTypeComplianceResultCodes
  • sohAttributeTypeFailureCategory

O restante dos SoHAttributeTypes são destinados puramente como diretrizes prescritivas para uso por SHAs e SHVs.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
NapProtocol.h
IDL
NapProtocol.idl

Confira também

Referência de NAP

Estruturas NAP