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