123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
- import "naptypes.idl";
- import "unknwn.idl";
- cpp_quote("#include <winapifamily.h>")
- cpp_quote("")
- cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
- [pointer_default (unique)]
- interface INapSoHTypes {
- typedef enum tagSoHAttributeType {
- sohAttributeTypeSystemHealthId = 2,
- sohAttributeTypeIpv4FixupServers = 3,
- sohAttributeTypeComplianceResultCodes = 4,
- sohAttributeTypeTimeOfLastUpdate = 5,
- sohAttributeTypeClientId = 6,
- sohAttributeTypeVendorSpecific = 7,
- sohAttributeTypeHealthClass = 8,
- sohAttributeTypeSoftwareVersion = 9,
- sohAttributeTypeProductName = 10,
- sohAttributeTypeHealthClassStatus = 11,
- sohAttributeTypeSoHGenerationTime = 12,
- sohAttributeTypeErrorCodes = 13,
- sohAttributeTypeFailureCategory = 14,
- sohAttributeTypeIpv6FixupServers = 15,
- sohAttributeTypeExtendedIsolationState = 16
- } SoHAttributeType;
- typedef enum tagHealthClassValue {
- healthClassFirewall = 0,
- healthClassPatchLevel = 1,
- healthClassAntiVirus = 2,
- healthClassCriticalUpdate = 3,
- healthClassReserved = 128
- } HealthClassValue;
- 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;
- };
- [object, uuid (35298344-96a6-45e7-9b6b-62ecc6e09920), pointer_default (unique)]
- interface INapSoHConstructor : IUnknown {
- HRESULT Initialize ([in] SystemHealthEntityId id,[in] BOOL isRequest);
- HRESULT AppendAttribute ([in] SoHAttributeType type,[in, switch_is (type)] const SoHAttributeValue *value);
- HRESULT GetSoH ([out] SoH **soh);
- HRESULT Validate ([in] const SoH *soh,[in] BOOL isRequest);
- };
- [object, uuid (FB2FA8B0-2cd5-457d-ABA8-4376f63ea1c0), pointer_default (unique)]
- interface INapSoHProcessor : IUnknown {
- HRESULT Initialize ([in] const SoH *soh,[in] BOOL isRequest,[out] SystemHealthEntityId *id);
- HRESULT FindNextAttribute ([in] UINT16 fromLocation,[in] SoHAttributeType type,[out] UINT16 *attributeLocation);
- HRESULT GetAttribute ([in] UINT16 attributeLocation,[out] SoHAttributeType *type,[out, switch_is (*type)] SoHAttributeValue **value);
- HRESULT GetNumberOfAttributes ([out] UINT16 *attributeCount);
- };
- cpp_quote("EXTERN_C const CLSID CLSID_NapSoHConstructor;")
- cpp_quote("EXTERN_C const CLSID CLSID_NapSoHProcessor;")
- cpp_quote("#endif")
|