Unión SoHAttributeValue
Nota
La plataforma protección de acceso a redes no está disponible a partir de Windows 10
La unión SoHAttributeValue define el contenido del miembro de tipo en una estructura SoHAttribute . La estructura de la unión SoHAttributeValue viene determinada por el SoHAttributeType especificado en el miembro de tipo de la estructura SoHAttribute .
Sintaxis
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;
Miembros
-
idVal
-
case(sohAttributeTypeSystemHealthId)
SystemHealthEntityId único que contiene el identificador del Agente de mantenimiento del sistema (SHA) o validador de estado del sistema (SHV) que construyó este paquete SoH.
-
v4AddressesVal
-
case(sohAttributeTypeIpv4FixupServers)
Las direcciones IPv4 de los servidores de corrección que usa el sistema NAP.
-
count
-
Número de direcciones IPv4 en el miembro addresses del intervalo de 1 a maxIpv4CountPerSoHAttribute.
-
addresses
-
Matriz de estructuras Ipv4Address que contienen las direcciones IPv4.
-
-
v6AddressesVal
-
case(sohAttributeTypeIpv6FixupServers)
Las direcciones IPv6 de los servidores de corrección que usa el sistema NAP.
-
count
-
Número de direcciones IPv4 del miembro addresses del intervalo de 1 a maxIpv6CountPerSoHAttribute.
-
addresses
-
Matriz de estructuras Ipv6Address que contienen las direcciones IPv4.
-
-
codesVal
-
case(sohAttributeTypeComplianceResultCodes, sohAttributeTypeErrorCodes)
Estructura ResultCodes que contiene los códigos de resultado de cumplimiento definidos por la aplicación de las constantes de error de NAP o cliente. Un paquete SoH debe contener este TLV o el TLV sohAttributeTypeFailureCategory TLV.
-
dateTimeVal
-
case(sohAttributeTypeTimeOfLastUpdate, sohAttributeTypeSoHGenerationTime)
Estructura FILETIME que contiene la hora de la última actualización de SoH o la hora de generación de SoH .
-
vendorSpecificVal
-
case(sohAttributeTypeVendorSpecific)
Datos específicos de la aplicación definidos por el proveedor.
-
vendorId
-
Identificador de 4 bytes que define el identificador de par SHA/SHV. Los primeros 3 bytes son el código SMI asignado por IETF del proveedor y el último byte identifica el propio componente. Al implementar un SHA o SHV, no use los valores de identificador asignados a los componentes internos de mantenimiento del sistema de Microsoft en constantes de proveedor de NAP.
-
size
-
Tamaño, en bytes, de los datos del proveedor del intervalo de 0 a (maxSoHAttributeSize - 4).
-
vendorSpecificData
-
Puntero a los datos específicos del proveedor en el orden de bytes de red.
-
-
uint8Val
-
case(sohAttributeTypeHealthClass, sohAttributeTypeFailureCategory,sohAttributeTypeExtendedIsolationState)
La clase de mantenimiento, la categoría de error o el estado de aislamiento extendido de un componente NAP como un valor HealthClassValue o FailureCategory , o una estructura IsolationInfoEx .
-
octetStringVal
-
default
Los valores de los atributos siguientes son cadenas de octetos:
- sohAttributeTypeSoftwareVersion
- sohAttributeTypeClientId
- sohAttributeTypeProductName
- sohAttributeTypeHealthClassStatus
Para la compatibilidad con reenvíos, todos los atributos no reconocidos se devuelven como cadenas de octetos. los datos deben estar en orden de bytes de red.
-
size
-
Tamaño, en bytes, de datos del intervalo de 0 a maxSoHAttributeSize.
-
data
-
Puntero al valor de cadena del octeto.
Diseño de datos real
Debido a la naturaleza del entorno de publicación del SDK, las uniones no se representan claramente en bloques de sintaxis. Esta es la sintaxis real del archivo de encabezado 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;
};
Observaciones
El sistema NAP consume estos tipos de atributos:
- sohAttributeTypeSystemHealthId
- sohAttributeTypeIpv4FixupServers
- sohAttributeTypeIpv6FixupServers
- sohAttributeTypeComplianceResultCodes
- sohAttributeTypeFailureCategory
El resto de soHAttributeTypes están pensados exclusivamente como guía prescriptiva para el uso por parte de shAs y SHV.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado |
|
IDL |
|