|  | /*** Autogenerated by WIDL 4.12.1 from include/napprotocol.idl - Do not edit ***/ | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __napprotocol_h__ | 
|  | #define __napprotocol_h__ | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __INapSoHConstructor_FWD_DEFINED__ | 
|  | #define __INapSoHConstructor_FWD_DEFINED__ | 
|  | typedef interface INapSoHConstructor INapSoHConstructor; | 
|  | #ifdef __cplusplus | 
|  | interface INapSoHConstructor; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __INapSoHProcessor_FWD_DEFINED__ | 
|  | #define __INapSoHProcessor_FWD_DEFINED__ | 
|  | typedef interface INapSoHProcessor INapSoHProcessor; | 
|  | #ifdef __cplusplus | 
|  | interface INapSoHProcessor; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <naptypes.h> | 
|  | #include <unknwn.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #include <winapifamily.h> | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  | /***************************************************************************** | 
|  | * INapSoHTypes interface (v0.0) | 
|  | */ | 
|  | #ifndef __INapSoHTypes_INTERFACE_DEFINED__ | 
|  | #define __INapSoHTypes_INTERFACE_DEFINED__ | 
|  |  | 
|  | extern RPC_IF_HANDLE INapSoHTypes_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE INapSoHTypes_v0_0_s_ifspec; | 
|  | 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 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; | 
|  |  | 
|  | #endif  /* __INapSoHTypes_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * INapSoHConstructor interface | 
|  | */ | 
|  | #ifndef __INapSoHConstructor_INTERFACE_DEFINED__ | 
|  | #define __INapSoHConstructor_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_INapSoHConstructor, 0x35298344, 0x96a6, 0x45e7, 0x9b,0x6b, 0x62,0xec,0xc6,0xe0,0x99,0x20); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("35298344-96a6-45e7-9b6b-62ecc6e09920") | 
|  | INapSoHConstructor : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Initialize( | 
|  | SystemHealthEntityId id, | 
|  | WINBOOL isRequest) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AppendAttribute( | 
|  | SoHAttributeType type, | 
|  | const SoHAttributeValue *value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSoH( | 
|  | SoH **soh) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Validate( | 
|  | const SoH *soh, | 
|  | WINBOOL isRequest) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(INapSoHConstructor, 0x35298344, 0x96a6, 0x45e7, 0x9b,0x6b, 0x62,0xec,0xc6,0xe0,0x99,0x20) | 
|  | #endif | 
|  | #else | 
|  | typedef struct INapSoHConstructorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | INapSoHConstructor *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | INapSoHConstructor *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | INapSoHConstructor *This); | 
|  |  | 
|  | /*** INapSoHConstructor methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Initialize)( | 
|  | INapSoHConstructor *This, | 
|  | SystemHealthEntityId id, | 
|  | WINBOOL isRequest); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AppendAttribute)( | 
|  | INapSoHConstructor *This, | 
|  | SoHAttributeType type, | 
|  | const SoHAttributeValue *value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSoH)( | 
|  | INapSoHConstructor *This, | 
|  | SoH **soh); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Validate)( | 
|  | INapSoHConstructor *This, | 
|  | const SoH *soh, | 
|  | WINBOOL isRequest); | 
|  |  | 
|  | END_INTERFACE | 
|  | } INapSoHConstructorVtbl; | 
|  |  | 
|  | interface INapSoHConstructor { | 
|  | CONST_VTBL INapSoHConstructorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define INapSoHConstructor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define INapSoHConstructor_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define INapSoHConstructor_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** INapSoHConstructor methods ***/ | 
|  | #define INapSoHConstructor_Initialize(This,id,isRequest) (This)->lpVtbl->Initialize(This,id,isRequest) | 
|  | #define INapSoHConstructor_AppendAttribute(This,type,value) (This)->lpVtbl->AppendAttribute(This,type,value) | 
|  | #define INapSoHConstructor_GetSoH(This,soh) (This)->lpVtbl->GetSoH(This,soh) | 
|  | #define INapSoHConstructor_Validate(This,soh,isRequest) (This)->lpVtbl->Validate(This,soh,isRequest) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT INapSoHConstructor_QueryInterface(INapSoHConstructor* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG INapSoHConstructor_AddRef(INapSoHConstructor* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG INapSoHConstructor_Release(INapSoHConstructor* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** INapSoHConstructor methods ***/ | 
|  | static FORCEINLINE HRESULT INapSoHConstructor_Initialize(INapSoHConstructor* This,SystemHealthEntityId id,WINBOOL isRequest) { | 
|  | return This->lpVtbl->Initialize(This,id,isRequest); | 
|  | } | 
|  | static FORCEINLINE HRESULT INapSoHConstructor_AppendAttribute(INapSoHConstructor* This,SoHAttributeType type,const SoHAttributeValue *value) { | 
|  | return This->lpVtbl->AppendAttribute(This,type,value); | 
|  | } | 
|  | static FORCEINLINE HRESULT INapSoHConstructor_GetSoH(INapSoHConstructor* This,SoH **soh) { | 
|  | return This->lpVtbl->GetSoH(This,soh); | 
|  | } | 
|  | static FORCEINLINE HRESULT INapSoHConstructor_Validate(INapSoHConstructor* This,const SoH *soh,WINBOOL isRequest) { | 
|  | return This->lpVtbl->Validate(This,soh,isRequest); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __INapSoHConstructor_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * INapSoHProcessor interface | 
|  | */ | 
|  | #ifndef __INapSoHProcessor_INTERFACE_DEFINED__ | 
|  | #define __INapSoHProcessor_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_INapSoHProcessor, 0xfb2fa8b0, 0x2cd5, 0x457d, 0xab,0xa8, 0x43,0x76,0xf6,0x3e,0xa1,0xc0); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("fb2fa8b0-2cd5-457d-aba8-4376f63ea1c0") | 
|  | INapSoHProcessor : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Initialize( | 
|  | const SoH *soh, | 
|  | WINBOOL isRequest, | 
|  | SystemHealthEntityId *id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindNextAttribute( | 
|  | UINT16 fromLocation, | 
|  | SoHAttributeType type, | 
|  | UINT16 *attributeLocation) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAttribute( | 
|  | UINT16 attributeLocation, | 
|  | SoHAttributeType *type, | 
|  | SoHAttributeValue **value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetNumberOfAttributes( | 
|  | UINT16 *attributeCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(INapSoHProcessor, 0xfb2fa8b0, 0x2cd5, 0x457d, 0xab,0xa8, 0x43,0x76,0xf6,0x3e,0xa1,0xc0) | 
|  | #endif | 
|  | #else | 
|  | typedef struct INapSoHProcessorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | INapSoHProcessor *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | INapSoHProcessor *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | INapSoHProcessor *This); | 
|  |  | 
|  | /*** INapSoHProcessor methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Initialize)( | 
|  | INapSoHProcessor *This, | 
|  | const SoH *soh, | 
|  | WINBOOL isRequest, | 
|  | SystemHealthEntityId *id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindNextAttribute)( | 
|  | INapSoHProcessor *This, | 
|  | UINT16 fromLocation, | 
|  | SoHAttributeType type, | 
|  | UINT16 *attributeLocation); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAttribute)( | 
|  | INapSoHProcessor *This, | 
|  | UINT16 attributeLocation, | 
|  | SoHAttributeType *type, | 
|  | SoHAttributeValue **value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetNumberOfAttributes)( | 
|  | INapSoHProcessor *This, | 
|  | UINT16 *attributeCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } INapSoHProcessorVtbl; | 
|  |  | 
|  | interface INapSoHProcessor { | 
|  | CONST_VTBL INapSoHProcessorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define INapSoHProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define INapSoHProcessor_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define INapSoHProcessor_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** INapSoHProcessor methods ***/ | 
|  | #define INapSoHProcessor_Initialize(This,soh,isRequest,id) (This)->lpVtbl->Initialize(This,soh,isRequest,id) | 
|  | #define INapSoHProcessor_FindNextAttribute(This,fromLocation,type,attributeLocation) (This)->lpVtbl->FindNextAttribute(This,fromLocation,type,attributeLocation) | 
|  | #define INapSoHProcessor_GetAttribute(This,attributeLocation,type,value) (This)->lpVtbl->GetAttribute(This,attributeLocation,type,value) | 
|  | #define INapSoHProcessor_GetNumberOfAttributes(This,attributeCount) (This)->lpVtbl->GetNumberOfAttributes(This,attributeCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT INapSoHProcessor_QueryInterface(INapSoHProcessor* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG INapSoHProcessor_AddRef(INapSoHProcessor* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG INapSoHProcessor_Release(INapSoHProcessor* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** INapSoHProcessor methods ***/ | 
|  | static FORCEINLINE HRESULT INapSoHProcessor_Initialize(INapSoHProcessor* This,const SoH *soh,WINBOOL isRequest,SystemHealthEntityId *id) { | 
|  | return This->lpVtbl->Initialize(This,soh,isRequest,id); | 
|  | } | 
|  | static FORCEINLINE HRESULT INapSoHProcessor_FindNextAttribute(INapSoHProcessor* This,UINT16 fromLocation,SoHAttributeType type,UINT16 *attributeLocation) { | 
|  | return This->lpVtbl->FindNextAttribute(This,fromLocation,type,attributeLocation); | 
|  | } | 
|  | static FORCEINLINE HRESULT INapSoHProcessor_GetAttribute(INapSoHProcessor* This,UINT16 attributeLocation,SoHAttributeType *type,SoHAttributeValue **value) { | 
|  | return This->lpVtbl->GetAttribute(This,attributeLocation,type,value); | 
|  | } | 
|  | static FORCEINLINE HRESULT INapSoHProcessor_GetNumberOfAttributes(INapSoHProcessor* This,UINT16 *attributeCount) { | 
|  | return This->lpVtbl->GetNumberOfAttributes(This,attributeCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __INapSoHProcessor_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | EXTERN_C const CLSID CLSID_NapSoHConstructor; | 
|  | EXTERN_C const CLSID CLSID_NapSoHProcessor; | 
|  | #endif | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __napprotocol_h__ */ |