SoHAttributeValue 공용 구조체
참고
네트워크 액세스 보호 플랫폼은 Windows 10 시작해서 사용할 수 없습니다.
SoHAttributeValue 공용 구조체는 SoHAttribute 구조체에서 형식 멤버의 내용을 정의합니다. SoHAttributeValue 공용 구조체의 구조체는 SoHAttribute 구조체의 형식 멤버에 지정된 SoHAttributeType에 의해 결정됩니다.
구문
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)
이 SoH 패킷을 생성한 SHA(시스템 상태 에이전트) 또는 SHV(시스템 상태 유효성 검사기)의 ID를 포함하는 고유한 SystemHealthEntityId입니다.
-
v4AddressesVal
-
case(sohAttributeTypeIpv4FixupServers)
NAP 시스템에서 사용 중인 수정 서버의 IPv4 주소입니다.
-
count
-
maxIpv4CountPerSoHAttribute 범위의 주소 멤버에 있는 IPv4 주소 수입니다.
-
addresses
-
IPv4 주소를 포함하는 Ipv4Address 구조체의 배열입니다.
-
-
v6AddressesVal
-
case(sohAttributeTypeIpv6FixupServers)
NAP 시스템에서 사용 중인 수정 서버의 IPv6 주소입니다.
-
count
-
maxIpv6CountPerSoHAttribute 범위 1의 주소 멤버에 있는 IPv4 주소 수입니다.
-
addresses
-
IPv4 주소를 포함하는 Ipv6Address 구조체의 배열입니다.
-
-
codesVal
-
case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)
클라이언트 또는 NAP 오류 상수의 애플리케이션 정의 규정 준수 결과 코드를 포함하는 ResultCodes 구조체입니다. SoH 패킷에는 이 TLV 또는 sohAttributeTypeFailureCategory TLV가 포함되어야 합니다.
-
dateTimeVal
-
case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)
-
vendorSpecificVal
-
case(sohAttributeTypeVendorSpecific)
공급업체에서 정의한 애플리케이션별 데이터입니다.
-
vendorId
-
SHA/SHV 쌍 ID를 정의하는 4바이트 식별자입니다. 처음 3바이트는 공급업체의 IETF 할당 SMI 코드이며 마지막 바이트는 구성 요소 자체를 식별합니다. SHA 또는 SHV를 구현할 때 NAP 공급업체 상수의 내부 Microsoft 시스템 상태 구성 요소에 할당된 ID 값을 사용하지 마세요.
-
size
-
0에서 (maxSoHAttributeSize - 4) 범위의 공급업체 데이터의 크기(바이트)입니다.
-
vendorSpecificData
-
네트워크 바이트 순서의 공급업체별 데이터에 대한 포인터입니다.
-
-
uint8Val
-
case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)
HEALTHClassValue 또는 FailureCategory 값 또는 IsolationInfoEx 구조체로 NAP 구성 요소의 상태 클래스, 실패 범주 또는 확장된 격리 상태입니다.
-
octetStringVal
-
default
다음 특성의 값은 옥릿 문자열입니다.
- sohAttributeTypeSoftwareVersion
- sohAttributeTypeClientId
- sohAttributeTypeProductName
- sohAttributeTypeHealthClassStatus
정방향 호환성을 위해 인식할 수 없는 모든 특성이 옥트 문자열로 반환됩니다. 데이터는 네트워크 바이트 순서여야 합니다.
-
size
-
0에서 maxSoHAttributeSize까지의 데이터 크기(바이트)입니다.
-
data
-
8진수 문자열 값에 대한 포인터입니다.
실제 데이터 레이아웃
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
나머지 SoHAttributeTypes는 전적으로 SHA 및 SHV의 사용에 대한 규범적인 지침으로 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2008 [데스크톱 앱만 해당] |
헤더 |
|
IDL |
|