Объединение SoHAttributeValue
Примечание
Платформа защиты доступа к сети недоступна начиная с Windows 10
Объединение SoHAttributeValue определяет содержимое элемента типа в структуре SoHAttribute . Структура объединения SoHAttributeValue определяется типом SoHAttributeType , указанным в элементе типа структуры SoHAttribute .
Синтаксис
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;
Члены
-
idVal
-
case(sohAttributeTypeSystemHealthId)
Уникальный идентификатор SystemHealthEntityId , содержащий идентификатор агента работоспособности системы (SHA) или средства проверки работоспособности системы (SHV), создав этот пакет SoH .
-
v4AddressesVal
-
case(sohAttributeTypeIpv4FixupServers)
IPv4-адреса серверов исправления, используемых системой NAP.
-
count
-
Число адресов IPv4 в элементе addresss в диапазоне от 1 до maxIpv4CountPerSoHAttribute.
-
addresses
-
Массив структур Ipv4Address , содержащих IPv4-адреса.
-
-
v6AddressesVal
-
case(sohAttributeTypeIpv6FixupServers)
IPv6-адреса серверов исправления, используемых системой NAP.
-
count
-
Число адресов IPv4 в элементе addresss в диапазоне от 1 до maxIpv6CountPerSoHAttribute.
-
addresses
-
Массив структур Ipv6Address , содержащих IPv4-адреса.
-
-
codesVal
-
case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)
Структура ResultCodes , содержащая коды результатов соответствия, определенные приложением, клиента или константы ошибок NAP. Пакет SoH должен содержать этот TLV или TLV sohAttributeTypeFailureCategory .
-
dateTimeVal
-
case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)
Структура FILETIME , содержащая время последнего обновления SoH или время создания SoH .
-
vendorSpecificVal
-
case(sohAttributeTypeVendorSpecific)
Данные конкретного приложения, определенные поставщиком.
-
vendorId
-
4-байтовый идентификатор, определяющий идентификатор пары SHA/SHV. Первые 3 байта — это назначенный IETF код SMI поставщика, а последний байт идентифицирует сам компонент. При реализации SHA или SHV не используйте значения идентификаторов, назначенные внутренним компонентам работоспособности системы Майкрософт в константах поставщика NAP.
-
size
-
Размер данных поставщика в байтах в диапазоне от 0 до (maxSoHAttributeSize – 4).
-
vendorSpecificData
-
Указатель на данные конкретного поставщика в сетевом порядке байтов.
-
-
uint8Val
-
case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)
Класс работоспособности, категория сбоя или расширенное состояние изоляции компонента NAP в виде значения HealthClassValue или FailureCategory или структуры IsolationInfoEx .
-
octetStringVal
-
default
Следующие значения атрибутов являются строками октетов:
- sohAttributeTypeSoftwareVersion
- sohAttributeTypeClientId
- sohAttributeTypeProductName
- sohAttributeTypeHealthClassStatus
Для обеспечения обратной совместимости все нераспознанные атрибуты возвращаются в виде строк октета. данные должны быть в порядке байтов сети.
-
size
-
Размер данных в байтах в диапазоне от 0 до maxSoHAttributeSize.
-
data
-
Указатель на строковое значение октета.
Фактический макет данных
Из-за характера среды публикации пакета SDK объединения не представлены четко в блоках синтаксиса. Ниже приведен фактический синтаксис файла заголовка 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;
};
Комментарии
Система NAP потребляет следующие типы атрибутов:
- sohAttributeTypeSystemHealthId
- sohAttributeTypeIpv4FixupServers
- sohAttributeTypeIpv6FixupServers
- sohAttributeTypeComplianceResultCodes
- sohAttributeTypeFailureCategory
Остальные типы SoHAttributeType предназначены исключительно как предписывающее руководство по использованию shAs и SHV.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2008 [только классические приложения] |
Заголовок |
|
IDL |
|