napprotocol.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. /*** Autogenerated by WIDL 7.7 from include/napprotocol.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __napprotocol_h__
  14. #define __napprotocol_h__
  15. /* Forward declarations */
  16. #ifndef __INapSoHConstructor_FWD_DEFINED__
  17. #define __INapSoHConstructor_FWD_DEFINED__
  18. typedef interface INapSoHConstructor INapSoHConstructor;
  19. #ifdef __cplusplus
  20. interface INapSoHConstructor;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __INapSoHProcessor_FWD_DEFINED__
  24. #define __INapSoHProcessor_FWD_DEFINED__
  25. typedef interface INapSoHProcessor INapSoHProcessor;
  26. #ifdef __cplusplus
  27. interface INapSoHProcessor;
  28. #endif /* __cplusplus */
  29. #endif
  30. /* Headers for imported files */
  31. #include <naptypes.h>
  32. #include <unknwn.h>
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. #include <winapifamily.h>
  37. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  38. /*****************************************************************************
  39. * INapSoHTypes interface (v0.0)
  40. */
  41. #ifndef __INapSoHTypes_INTERFACE_DEFINED__
  42. #define __INapSoHTypes_INTERFACE_DEFINED__
  43. extern RPC_IF_HANDLE INapSoHTypes_v0_0_c_ifspec;
  44. extern RPC_IF_HANDLE INapSoHTypes_v0_0_s_ifspec;
  45. typedef enum tagSoHAttributeType {
  46. sohAttributeTypeSystemHealthId = 2,
  47. sohAttributeTypeIpv4FixupServers = 3,
  48. sohAttributeTypeComplianceResultCodes = 4,
  49. sohAttributeTypeTimeOfLastUpdate = 5,
  50. sohAttributeTypeClientId = 6,
  51. sohAttributeTypeVendorSpecific = 7,
  52. sohAttributeTypeHealthClass = 8,
  53. sohAttributeTypeSoftwareVersion = 9,
  54. sohAttributeTypeProductName = 10,
  55. sohAttributeTypeHealthClassStatus = 11,
  56. sohAttributeTypeSoHGenerationTime = 12,
  57. sohAttributeTypeErrorCodes = 13,
  58. sohAttributeTypeFailureCategory = 14,
  59. sohAttributeTypeIpv6FixupServers = 15,
  60. sohAttributeTypeExtendedIsolationState = 16
  61. } SoHAttributeType;
  62. typedef enum tagHealthClassValue {
  63. healthClassFirewall = 0,
  64. healthClassPatchLevel = 1,
  65. healthClassAntiVirus = 2,
  66. healthClassCriticalUpdate = 3,
  67. healthClassReserved = 128
  68. } HealthClassValue;
  69. typedef union tagSoHAttributeValue {
  70. SystemHealthEntityId idVal;
  71. struct tagIpv4Addresses {
  72. UINT16 count;
  73. Ipv4Address *addresses;
  74. } v4AddressesVal;
  75. struct tagIpv6Addresses {
  76. UINT16 count;
  77. Ipv6Address *addresses;
  78. } v6AddressesVal;
  79. ResultCodes codesVal;
  80. FILETIME dateTimeVal;
  81. struct tagVendorSpecific {
  82. UINT32 vendorId;
  83. UINT16 size;
  84. BYTE *vendorSpecificData;
  85. } vendorSpecificVal;
  86. UINT8 uint8Val;
  87. struct tagOctetString {
  88. UINT16 size;
  89. BYTE *data;
  90. } octetStringVal;
  91. } SoHAttributeValue;
  92. #endif /* __INapSoHTypes_INTERFACE_DEFINED__ */
  93. /*****************************************************************************
  94. * INapSoHConstructor interface
  95. */
  96. #ifndef __INapSoHConstructor_INTERFACE_DEFINED__
  97. #define __INapSoHConstructor_INTERFACE_DEFINED__
  98. DEFINE_GUID(IID_INapSoHConstructor, 0x35298344, 0x96a6, 0x45e7, 0x9b,0x6b, 0x62,0xec,0xc6,0xe0,0x99,0x20);
  99. #if defined(__cplusplus) && !defined(CINTERFACE)
  100. MIDL_INTERFACE("35298344-96a6-45e7-9b6b-62ecc6e09920")
  101. INapSoHConstructor : public IUnknown
  102. {
  103. virtual HRESULT STDMETHODCALLTYPE Initialize(
  104. SystemHealthEntityId id,
  105. WINBOOL isRequest) = 0;
  106. virtual HRESULT STDMETHODCALLTYPE AppendAttribute(
  107. SoHAttributeType type,
  108. const SoHAttributeValue *value) = 0;
  109. virtual HRESULT STDMETHODCALLTYPE GetSoH(
  110. SoH **soh) = 0;
  111. virtual HRESULT STDMETHODCALLTYPE Validate(
  112. const SoH *soh,
  113. WINBOOL isRequest) = 0;
  114. };
  115. #ifdef __CRT_UUID_DECL
  116. __CRT_UUID_DECL(INapSoHConstructor, 0x35298344, 0x96a6, 0x45e7, 0x9b,0x6b, 0x62,0xec,0xc6,0xe0,0x99,0x20)
  117. #endif
  118. #else
  119. typedef struct INapSoHConstructorVtbl {
  120. BEGIN_INTERFACE
  121. /*** IUnknown methods ***/
  122. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  123. INapSoHConstructor *This,
  124. REFIID riid,
  125. void **ppvObject);
  126. ULONG (STDMETHODCALLTYPE *AddRef)(
  127. INapSoHConstructor *This);
  128. ULONG (STDMETHODCALLTYPE *Release)(
  129. INapSoHConstructor *This);
  130. /*** INapSoHConstructor methods ***/
  131. HRESULT (STDMETHODCALLTYPE *Initialize)(
  132. INapSoHConstructor *This,
  133. SystemHealthEntityId id,
  134. WINBOOL isRequest);
  135. HRESULT (STDMETHODCALLTYPE *AppendAttribute)(
  136. INapSoHConstructor *This,
  137. SoHAttributeType type,
  138. const SoHAttributeValue *value);
  139. HRESULT (STDMETHODCALLTYPE *GetSoH)(
  140. INapSoHConstructor *This,
  141. SoH **soh);
  142. HRESULT (STDMETHODCALLTYPE *Validate)(
  143. INapSoHConstructor *This,
  144. const SoH *soh,
  145. WINBOOL isRequest);
  146. END_INTERFACE
  147. } INapSoHConstructorVtbl;
  148. interface INapSoHConstructor {
  149. CONST_VTBL INapSoHConstructorVtbl* lpVtbl;
  150. };
  151. #ifdef COBJMACROS
  152. #ifndef WIDL_C_INLINE_WRAPPERS
  153. /*** IUnknown methods ***/
  154. #define INapSoHConstructor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  155. #define INapSoHConstructor_AddRef(This) (This)->lpVtbl->AddRef(This)
  156. #define INapSoHConstructor_Release(This) (This)->lpVtbl->Release(This)
  157. /*** INapSoHConstructor methods ***/
  158. #define INapSoHConstructor_Initialize(This,id,isRequest) (This)->lpVtbl->Initialize(This,id,isRequest)
  159. #define INapSoHConstructor_AppendAttribute(This,type,value) (This)->lpVtbl->AppendAttribute(This,type,value)
  160. #define INapSoHConstructor_GetSoH(This,soh) (This)->lpVtbl->GetSoH(This,soh)
  161. #define INapSoHConstructor_Validate(This,soh,isRequest) (This)->lpVtbl->Validate(This,soh,isRequest)
  162. #else
  163. /*** IUnknown methods ***/
  164. static FORCEINLINE HRESULT INapSoHConstructor_QueryInterface(INapSoHConstructor* This,REFIID riid,void **ppvObject) {
  165. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  166. }
  167. static FORCEINLINE ULONG INapSoHConstructor_AddRef(INapSoHConstructor* This) {
  168. return This->lpVtbl->AddRef(This);
  169. }
  170. static FORCEINLINE ULONG INapSoHConstructor_Release(INapSoHConstructor* This) {
  171. return This->lpVtbl->Release(This);
  172. }
  173. /*** INapSoHConstructor methods ***/
  174. static FORCEINLINE HRESULT INapSoHConstructor_Initialize(INapSoHConstructor* This,SystemHealthEntityId id,WINBOOL isRequest) {
  175. return This->lpVtbl->Initialize(This,id,isRequest);
  176. }
  177. static FORCEINLINE HRESULT INapSoHConstructor_AppendAttribute(INapSoHConstructor* This,SoHAttributeType type,const SoHAttributeValue *value) {
  178. return This->lpVtbl->AppendAttribute(This,type,value);
  179. }
  180. static FORCEINLINE HRESULT INapSoHConstructor_GetSoH(INapSoHConstructor* This,SoH **soh) {
  181. return This->lpVtbl->GetSoH(This,soh);
  182. }
  183. static FORCEINLINE HRESULT INapSoHConstructor_Validate(INapSoHConstructor* This,const SoH *soh,WINBOOL isRequest) {
  184. return This->lpVtbl->Validate(This,soh,isRequest);
  185. }
  186. #endif
  187. #endif
  188. #endif
  189. #endif /* __INapSoHConstructor_INTERFACE_DEFINED__ */
  190. /*****************************************************************************
  191. * INapSoHProcessor interface
  192. */
  193. #ifndef __INapSoHProcessor_INTERFACE_DEFINED__
  194. #define __INapSoHProcessor_INTERFACE_DEFINED__
  195. DEFINE_GUID(IID_INapSoHProcessor, 0xfb2fa8b0, 0x2cd5, 0x457d, 0xab,0xa8, 0x43,0x76,0xf6,0x3e,0xa1,0xc0);
  196. #if defined(__cplusplus) && !defined(CINTERFACE)
  197. MIDL_INTERFACE("fb2fa8b0-2cd5-457d-aba8-4376f63ea1c0")
  198. INapSoHProcessor : public IUnknown
  199. {
  200. virtual HRESULT STDMETHODCALLTYPE Initialize(
  201. const SoH *soh,
  202. WINBOOL isRequest,
  203. SystemHealthEntityId *id) = 0;
  204. virtual HRESULT STDMETHODCALLTYPE FindNextAttribute(
  205. UINT16 fromLocation,
  206. SoHAttributeType type,
  207. UINT16 *attributeLocation) = 0;
  208. virtual HRESULT STDMETHODCALLTYPE GetAttribute(
  209. UINT16 attributeLocation,
  210. SoHAttributeType *type,
  211. SoHAttributeValue **value) = 0;
  212. virtual HRESULT STDMETHODCALLTYPE GetNumberOfAttributes(
  213. UINT16 *attributeCount) = 0;
  214. };
  215. #ifdef __CRT_UUID_DECL
  216. __CRT_UUID_DECL(INapSoHProcessor, 0xfb2fa8b0, 0x2cd5, 0x457d, 0xab,0xa8, 0x43,0x76,0xf6,0x3e,0xa1,0xc0)
  217. #endif
  218. #else
  219. typedef struct INapSoHProcessorVtbl {
  220. BEGIN_INTERFACE
  221. /*** IUnknown methods ***/
  222. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  223. INapSoHProcessor *This,
  224. REFIID riid,
  225. void **ppvObject);
  226. ULONG (STDMETHODCALLTYPE *AddRef)(
  227. INapSoHProcessor *This);
  228. ULONG (STDMETHODCALLTYPE *Release)(
  229. INapSoHProcessor *This);
  230. /*** INapSoHProcessor methods ***/
  231. HRESULT (STDMETHODCALLTYPE *Initialize)(
  232. INapSoHProcessor *This,
  233. const SoH *soh,
  234. WINBOOL isRequest,
  235. SystemHealthEntityId *id);
  236. HRESULT (STDMETHODCALLTYPE *FindNextAttribute)(
  237. INapSoHProcessor *This,
  238. UINT16 fromLocation,
  239. SoHAttributeType type,
  240. UINT16 *attributeLocation);
  241. HRESULT (STDMETHODCALLTYPE *GetAttribute)(
  242. INapSoHProcessor *This,
  243. UINT16 attributeLocation,
  244. SoHAttributeType *type,
  245. SoHAttributeValue **value);
  246. HRESULT (STDMETHODCALLTYPE *GetNumberOfAttributes)(
  247. INapSoHProcessor *This,
  248. UINT16 *attributeCount);
  249. END_INTERFACE
  250. } INapSoHProcessorVtbl;
  251. interface INapSoHProcessor {
  252. CONST_VTBL INapSoHProcessorVtbl* lpVtbl;
  253. };
  254. #ifdef COBJMACROS
  255. #ifndef WIDL_C_INLINE_WRAPPERS
  256. /*** IUnknown methods ***/
  257. #define INapSoHProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  258. #define INapSoHProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
  259. #define INapSoHProcessor_Release(This) (This)->lpVtbl->Release(This)
  260. /*** INapSoHProcessor methods ***/
  261. #define INapSoHProcessor_Initialize(This,soh,isRequest,id) (This)->lpVtbl->Initialize(This,soh,isRequest,id)
  262. #define INapSoHProcessor_FindNextAttribute(This,fromLocation,type,attributeLocation) (This)->lpVtbl->FindNextAttribute(This,fromLocation,type,attributeLocation)
  263. #define INapSoHProcessor_GetAttribute(This,attributeLocation,type,value) (This)->lpVtbl->GetAttribute(This,attributeLocation,type,value)
  264. #define INapSoHProcessor_GetNumberOfAttributes(This,attributeCount) (This)->lpVtbl->GetNumberOfAttributes(This,attributeCount)
  265. #else
  266. /*** IUnknown methods ***/
  267. static FORCEINLINE HRESULT INapSoHProcessor_QueryInterface(INapSoHProcessor* This,REFIID riid,void **ppvObject) {
  268. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  269. }
  270. static FORCEINLINE ULONG INapSoHProcessor_AddRef(INapSoHProcessor* This) {
  271. return This->lpVtbl->AddRef(This);
  272. }
  273. static FORCEINLINE ULONG INapSoHProcessor_Release(INapSoHProcessor* This) {
  274. return This->lpVtbl->Release(This);
  275. }
  276. /*** INapSoHProcessor methods ***/
  277. static FORCEINLINE HRESULT INapSoHProcessor_Initialize(INapSoHProcessor* This,const SoH *soh,WINBOOL isRequest,SystemHealthEntityId *id) {
  278. return This->lpVtbl->Initialize(This,soh,isRequest,id);
  279. }
  280. static FORCEINLINE HRESULT INapSoHProcessor_FindNextAttribute(INapSoHProcessor* This,UINT16 fromLocation,SoHAttributeType type,UINT16 *attributeLocation) {
  281. return This->lpVtbl->FindNextAttribute(This,fromLocation,type,attributeLocation);
  282. }
  283. static FORCEINLINE HRESULT INapSoHProcessor_GetAttribute(INapSoHProcessor* This,UINT16 attributeLocation,SoHAttributeType *type,SoHAttributeValue **value) {
  284. return This->lpVtbl->GetAttribute(This,attributeLocation,type,value);
  285. }
  286. static FORCEINLINE HRESULT INapSoHProcessor_GetNumberOfAttributes(INapSoHProcessor* This,UINT16 *attributeCount) {
  287. return This->lpVtbl->GetNumberOfAttributes(This,attributeCount);
  288. }
  289. #endif
  290. #endif
  291. #endif
  292. #endif /* __INapSoHProcessor_INTERFACE_DEFINED__ */
  293. EXTERN_C const CLSID CLSID_NapSoHConstructor;
  294. EXTERN_C const CLSID CLSID_NapSoHProcessor;
  295. #endif
  296. /* Begin additional prototypes for all interfaces */
  297. /* End additional prototypes */
  298. #ifdef __cplusplus
  299. }
  300. #endif
  301. #endif /* __napprotocol_h__ */