1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
20#endif
21
22#ifndef __certexit_h__
23#define __certexit_h__
24
25#ifndef __ICertExit_FWD_DEFINED__
26#define __ICertExit_FWD_DEFINED__
27typedef struct ICertExit ICertExit;
28#endif
29
30#ifndef __ICertExit2_FWD_DEFINED__
31#define __ICertExit2_FWD_DEFINED__
32typedef struct ICertExit2 ICertExit2;
33#endif
34
35#include "wtypes.h"
36#include "certmod.h"
37
38#ifdef __cplusplus
39extern "C"{
40#endif
41
42#ifndef __MIDL_user_allocate_free_DEFINED__
43#define __MIDL_user_allocate_free_DEFINED__
44  void *__RPC_API MIDL_user_allocate(size_t);
45  void __RPC_API MIDL_user_free(void *);
46#endif
47
48#define EXITEVENT_INVALID (0x0)
49#define EXITEVENT_CERTISSUED (0x1)
50#define EXITEVENT_CERTPENDING (0x2)
51#define EXITEVENT_CERTDENIED (0x4)
52#define EXITEVENT_CERTREVOKED (0x8)
53#define EXITEVENT_CERTRETRIEVEPENDING (0x10)
54#define EXITEVENT_CRLISSUED (0x20)
55#define EXITEVENT_SHUTDOWN (0x40)
56#define EXITEVENT_STARTUP (0x80)
57
58  extern RPC_IF_HANDLE __MIDL_itf_certexit_0000_v0_0_c_ifspec;
59  extern RPC_IF_HANDLE __MIDL_itf_certexit_0000_v0_0_s_ifspec;
60
61#ifndef __ICertExit_INTERFACE_DEFINED__
62#define __ICertExit_INTERFACE_DEFINED__
63  EXTERN_C const IID IID_ICertExit;
64#if defined(__cplusplus) && !defined(CINTERFACE)
65  struct ICertExit : public IDispatch {
66  public:
67    virtual HRESULT WINAPI Initialize(const BSTR strConfig,LONG *pEventMask) = 0;
68    virtual HRESULT WINAPI Notify(LONG ExitEvent,LONG Context) = 0;
69    virtual HRESULT WINAPI GetDescription(BSTR *pstrDescription) = 0;
70  };
71#else
72  typedef struct ICertExitVtbl {
73    BEGIN_INTERFACE
74      HRESULT (WINAPI *QueryInterface)(ICertExit *This,REFIID riid,void **ppvObject);
75      ULONG (WINAPI *AddRef)(ICertExit *This);
76      ULONG (WINAPI *Release)(ICertExit *This);
77      HRESULT (WINAPI *GetTypeInfoCount)(ICertExit *This,UINT *pctinfo);
78      HRESULT (WINAPI *GetTypeInfo)(ICertExit *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
79      HRESULT (WINAPI *GetIDsOfNames)(ICertExit *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
80      HRESULT (WINAPI *Invoke)(ICertExit *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
81      HRESULT (WINAPI *Initialize)(ICertExit *This,const BSTR strConfig,LONG *pEventMask);
82      HRESULT (WINAPI *Notify)(ICertExit *This,LONG ExitEvent,LONG Context);
83      HRESULT (WINAPI *GetDescription)(ICertExit *This,BSTR *pstrDescription);
84    END_INTERFACE
85  } ICertExitVtbl;
86  struct ICertExit {
87    CONST_VTBL struct ICertExitVtbl *lpVtbl;
88  };
89#ifdef COBJMACROS
90#define ICertExit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
91#define ICertExit_AddRef(This) (This)->lpVtbl->AddRef(This)
92#define ICertExit_Release(This) (This)->lpVtbl->Release(This)
93#define ICertExit_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
94#define ICertExit_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
95#define ICertExit_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
96#define ICertExit_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
97#define ICertExit_Initialize(This,strConfig,pEventMask) (This)->lpVtbl->Initialize(This,strConfig,pEventMask)
98#define ICertExit_Notify(This,ExitEvent,Context) (This)->lpVtbl->Notify(This,ExitEvent,Context)
99#define ICertExit_GetDescription(This,pstrDescription) (This)->lpVtbl->GetDescription(This,pstrDescription)
100#endif
101#endif
102  HRESULT WINAPI ICertExit_Initialize_Proxy(ICertExit *This,const BSTR strConfig,LONG *pEventMask);
103  void __RPC_STUB ICertExit_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
104  HRESULT WINAPI ICertExit_Notify_Proxy(ICertExit *This,LONG ExitEvent,LONG Context);
105  void __RPC_STUB ICertExit_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
106  HRESULT WINAPI ICertExit_GetDescription_Proxy(ICertExit *This,BSTR *pstrDescription);
107  void __RPC_STUB ICertExit_GetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
108#endif
109
110#ifndef __ICertExit2_INTERFACE_DEFINED__
111#define __ICertExit2_INTERFACE_DEFINED__
112  EXTERN_C const IID IID_ICertExit2;
113#if defined(__cplusplus) && !defined(CINTERFACE)
114  struct ICertExit2 : public ICertExit {
115  public:
116    virtual HRESULT WINAPI GetManageModule(ICertManageModule **ppManageModule) = 0;
117  };
118#else
119  typedef struct ICertExit2Vtbl {
120    BEGIN_INTERFACE
121      HRESULT (WINAPI *QueryInterface)(ICertExit2 *This,REFIID riid,void **ppvObject);
122      ULONG (WINAPI *AddRef)(ICertExit2 *This);
123      ULONG (WINAPI *Release)(ICertExit2 *This);
124      HRESULT (WINAPI *GetTypeInfoCount)(ICertExit2 *This,UINT *pctinfo);
125      HRESULT (WINAPI *GetTypeInfo)(ICertExit2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
126      HRESULT (WINAPI *GetIDsOfNames)(ICertExit2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
127      HRESULT (WINAPI *Invoke)(ICertExit2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
128      HRESULT (WINAPI *Initialize)(ICertExit2 *This,const BSTR strConfig,LONG *pEventMask);
129      HRESULT (WINAPI *Notify)(ICertExit2 *This,LONG ExitEvent,LONG Context);
130      HRESULT (WINAPI *GetDescription)(ICertExit2 *This,BSTR *pstrDescription);
131      HRESULT (WINAPI *GetManageModule)(ICertExit2 *This,ICertManageModule **ppManageModule);
132    END_INTERFACE
133  } ICertExit2Vtbl;
134  struct ICertExit2 {
135    CONST_VTBL struct ICertExit2Vtbl *lpVtbl;
136  };
137#ifdef COBJMACROS
138#define ICertExit2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
139#define ICertExit2_AddRef(This) (This)->lpVtbl->AddRef(This)
140#define ICertExit2_Release(This) (This)->lpVtbl->Release(This)
141#define ICertExit2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
142#define ICertExit2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
143#define ICertExit2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
144#define ICertExit2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
145#define ICertExit2_Initialize(This,strConfig,pEventMask) (This)->lpVtbl->Initialize(This,strConfig,pEventMask)
146#define ICertExit2_Notify(This,ExitEvent,Context) (This)->lpVtbl->Notify(This,ExitEvent,Context)
147#define ICertExit2_GetDescription(This,pstrDescription) (This)->lpVtbl->GetDescription(This,pstrDescription)
148#define ICertExit2_GetManageModule(This,ppManageModule) (This)->lpVtbl->GetManageModule(This,ppManageModule)
149#endif
150#endif
151  HRESULT WINAPI ICertExit2_GetManageModule_Proxy(ICertExit2 *This,ICertManageModule **ppManageModule);
152  void __RPC_STUB ICertExit2_GetManageModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
153#endif
154
155  ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
156  unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
157  unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
158  void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
159
160#ifdef __cplusplus
161}
162#endif
163#endif
164