Serikat SoHAttributeValue

Catatan

Platform Perlindungan Akses Jaringan tidak tersedia dimulai dengan Windows 10

Serikat SoHAttributeValue mendefinisikan konten anggota jenis dalam struktur SoHAttribute . Struktur serikat SoHAttributeValue ditentukan oleh SoHAttributeType yang ditentukan dalam anggota jenis struktur SoHAttribute .

Sintaks

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;

Anggota

idVal

case(sohAttributeTypeSystemHealthId)

SystemHealthEntityId unik yang berisi ID Agen Kesehatan Sistem (SHA) atau Validator Kesehatan Sistem (SHV) yang membangun paket SoH ini.

v4AddressesVal

case(sohAttributeTypeIpv4FixupServers)

Alamat IPv4 dari server perbaikan yang digunakan oleh sistem NAP.

hitung

Jumlah alamat IPv4 di anggota alamat dalam rentang 1 hingga maxIpv4CountPerSoHAttribute.

alamat

Array struktur Ipv4Address yang berisi alamat IPv4.

v6AddressesVal

case(sohAttributeTypeIpv6FixupServers)

Alamat IPv6 dari server perbaikan yang digunakan oleh sistem NAP.

hitung

Jumlah alamat IPv4 di anggota alamat dalam rentang 1 hingga maxIpv6CountPerSoHAttribute.

alamat

Array struktur Ipv6Address yang berisi alamat IPv4.

codesVal

case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)

Struktur ResultCodes yang berisi kode hasil kepatuhan yang ditentukan aplikasi dari konstanta kesalahan klien atau NAP. Paket SoH harus berisi TLV ini atau sohAttributeTypeFailureCategory TLV.

dateTimeVal

case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)

Struktur FILETIME yang berisi waktu pembaruan SoH terakhir atau waktu pembuatan SoH .

vendorSpecificVal

case(sohAttributeTypeVendorSpecific)

Data khusus aplikasi yang ditentukan oleh vendor.

vendorId

Pengidentifikasi 4-byte yang menentukan ID pasangan SHA/SHV. 3 byte pertama adalah kode SMI vendor yang ditetapkan IETF, dan byte terakhir mengidentifikasi komponen itu sendiri. Saat menerapkan SHA atau SHV, jangan gunakan nilai ID yang ditetapkan ke komponen kesehatan sistem Microsoft internal pada konstanta vendor NAP.

ukuran

Ukuran, dalam byte, data vendor dalam rentang 0 hingga (maxSoHAttributeSize - 4).

vendorSpecificData

Penunjuk ke data spesifik vendor dalam urutan byte jaringan.

uint8Val

case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)

Kelas kesehatan, kategori kegagalan, atau status isolasi yang diperluas dari komponen NAP sebagai nilai HealthClassValue atau FailureCategory , atau struktur IsolationInfoEx .

octetStringVal

default

Nilai atribut berikut adalah string oktet:

  • sohAttributeTypeSoftwareVersion
  • sohAttributeTypeClientId
  • sohAttributeTypeProductName
  • sohAttributeTypeHealthClassStatus

Untuk kompatibilitas penerusan, semua atribut yang tidak dikenal dikembalikan sebagai string oktet. data harus dalam urutan byte jaringan.

ukuran

Ukuran, dalam byte, data dalam rentang 0 hingga maxSoHAttributeSize.

data

Penunjuk ke nilai string oktet.

Tata letak data aktual

Karena sifat lingkungan penerbitan SDK, serikat tidak diwakili dengan jelas dalam blok sintaks. Berikut adalah sintaks aktual dari file header 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;
};

Keterangan

Jenis atribut ini digunakan oleh sistem NAP:

  • sohAttributeTypeSystemHealthId
  • sohAttributeTypeIpv4FixupServers
  • sohAttributeTypeIpv6FixupServers
  • sohAttributeTypeComplianceResultCodes
  • sohAttributeTypeFailureCategory

Sisa SoHAttributeTypes dimaksudkan murni sebagai panduan preskriptif untuk penggunaan oleh SHAs dan SHV.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
NapProtocol.h
IDL
NapProtocol.idl

Lihat juga

Referensi NAP

Struktur NAP