SoHAttributeValue 共用体
Note
ネットワーク アクセス保護プラットフォームは、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 パケットを構築した System Health Agent (SHA) または System Health Validator (SHV) の ID を含む一意の SystemHealthEntityId。
-
v4AddressesVal
-
case(sohAttributeTypeIpv4FixupServers)
NAP システムで使用されている修正サーバーの IPv4 アドレス。
-
count
-
1 から maxIpv4CountPerSoHAttribute までのアドレス メンバー内の IPv4 アドレスの数。
-
addresses
-
IPv4 アドレスを含む Ipv4Address 構造体の配列。
-
-
v6AddressesVal
-
case(sohAttributeTypeIpv6FixupServers)
NAP システムで使用されている修正サーバーの IPv6 アドレス。
-
count
-
1 から maxIpv6CountPerSoHAttribute までのアドレス メンバー内の 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
-
オクテット文字列値へのポインター。
実際のデータ レイアウト
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 |
|