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