master
  1/*** Autogenerated by WIDL 10.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__
 23typedef interface INapSoHConstructor INapSoHConstructor;
 24#ifdef __cplusplus
 25interface INapSoHConstructor;
 26#endif /* __cplusplus */
 27#endif
 28
 29#ifndef __INapSoHProcessor_FWD_DEFINED__
 30#define __INapSoHProcessor_FWD_DEFINED__
 31typedef interface INapSoHProcessor INapSoHProcessor;
 32#ifdef __cplusplus
 33interface 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
 43extern "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
 55extern RPC_IF_HANDLE INapSoHTypes_v0_0_c_ifspec;
 56extern RPC_IF_HANDLE INapSoHTypes_v0_0_s_ifspec;
 57typedef 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;
 74typedef enum tagHealthClassValue {
 75    healthClassFirewall = 0,
 76    healthClassPatchLevel = 1,
 77    healthClassAntiVirus = 2,
 78    healthClassCriticalUpdate = 3,
 79    healthClassReserved = 128
 80} HealthClassValue;
 81typedef 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
113DEFINE_GUID(IID_INapSoHConstructor, 0x35298344, 0x96a6, 0x45e7, 0x9b,0x6b, 0x62,0xec,0xc6,0xe0,0x99,0x20);
114#if defined(__cplusplus) && !defined(CINTERFACE)
115MIDL_INTERFACE("35298344-96a6-45e7-9b6b-62ecc6e09920")
116INapSoHConstructor : 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
138typedef 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
176interface 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 ***/
193static inline HRESULT INapSoHConstructor_QueryInterface(INapSoHConstructor* This,REFIID riid,void **ppvObject) {
194    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
195}
196static inline ULONG INapSoHConstructor_AddRef(INapSoHConstructor* This) {
197    return This->lpVtbl->AddRef(This);
198}
199static inline ULONG INapSoHConstructor_Release(INapSoHConstructor* This) {
200    return This->lpVtbl->Release(This);
201}
202/*** INapSoHConstructor methods ***/
203static inline HRESULT INapSoHConstructor_Initialize(INapSoHConstructor* This,SystemHealthEntityId id,WINBOOL isRequest) {
204    return This->lpVtbl->Initialize(This,id,isRequest);
205}
206static inline HRESULT INapSoHConstructor_AppendAttribute(INapSoHConstructor* This,SoHAttributeType type,const SoHAttributeValue *value) {
207    return This->lpVtbl->AppendAttribute(This,type,value);
208}
209static inline HRESULT INapSoHConstructor_GetSoH(INapSoHConstructor* This,SoH **soh) {
210    return This->lpVtbl->GetSoH(This,soh);
211}
212static inline 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
229DEFINE_GUID(IID_INapSoHProcessor, 0xfb2fa8b0, 0x2cd5, 0x457d, 0xab,0xa8, 0x43,0x76,0xf6,0x3e,0xa1,0xc0);
230#if defined(__cplusplus) && !defined(CINTERFACE)
231MIDL_INTERFACE("fb2fa8b0-2cd5-457d-aba8-4376f63ea1c0")
232INapSoHProcessor : 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
257typedef 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
298interface 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 ***/
315static inline HRESULT INapSoHProcessor_QueryInterface(INapSoHProcessor* This,REFIID riid,void **ppvObject) {
316    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
317}
318static inline ULONG INapSoHProcessor_AddRef(INapSoHProcessor* This) {
319    return This->lpVtbl->AddRef(This);
320}
321static inline ULONG INapSoHProcessor_Release(INapSoHProcessor* This) {
322    return This->lpVtbl->Release(This);
323}
324/*** INapSoHProcessor methods ***/
325static inline HRESULT INapSoHProcessor_Initialize(INapSoHProcessor* This,const SoH *soh,WINBOOL isRequest,SystemHealthEntityId *id) {
326    return This->lpVtbl->Initialize(This,soh,isRequest,id);
327}
328static inline HRESULT INapSoHProcessor_FindNextAttribute(INapSoHProcessor* This,UINT16 fromLocation,SoHAttributeType type,UINT16 *attributeLocation) {
329    return This->lpVtbl->FindNextAttribute(This,fromLocation,type,attributeLocation);
330}
331static inline HRESULT INapSoHProcessor_GetAttribute(INapSoHProcessor* This,UINT16 attributeLocation,SoHAttributeType *type,SoHAttributeValue **value) {
332    return This->lpVtbl->GetAttribute(This,attributeLocation,type,value);
333}
334static inline 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
345EXTERN_C const CLSID CLSID_NapSoHConstructor;
346EXTERN_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__ */