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 _INC_FUNCTIONDISCOVERYNOTIFICATION
7 #define _INC_FUNCTIONDISCOVERYNOTIFICATION
8 
9 #if (_WIN32_WINNT >= 0x0600)
10 
11 #undef  INTERFACE
12 #define INTERFACE IFunctionDiscoveryNotification
13 #ifdef __GNUC__
14 #warning COM interfaces layout in this header has not been verified.
15 #warning COM interfaces with incorrect layout may not work at all.
16 __MINGW_BROKEN_INTERFACE(INTERFACE)
17 #endif
DECLARE_INTERFACE_(IFunctionDiscoveryNotification,IUnknown)18 DECLARE_INTERFACE_(IFunctionDiscoveryNotification,IUnknown)
19 {
20     BEGIN_INTERFACE
21 
22     /* IUnknown methods */
23     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
24     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
25     STDMETHOD_(ULONG, Release)(THIS) PURE;
26 
27     /* IFunctionDiscoveryNotification methods */
28     STDMETHOD_(HRESULT,OnUpdate)(THIS_ QueryUpdateAction enumQueryUpdateAction,FDQUERYCONTEXT fdqcQueryContext,IFunctionInstance *pIFunctionInstance) PURE;
29     STDMETHOD_(HRESULT,OnError)(THIS_ HRESULT hr,FDQUERYCONTEXT fdqcQueryContext,const WCHAR *pszProvider) PURE;
30     STDMETHOD_(HRESULT,OnEvent)(THIS_ DWORD dwEventID,FDQUERYCONTEXT fdqcQueryContext,const WCHAR *pszProvider) PURE;
31 
32     END_INTERFACE
33 };
34 #ifdef COBJMACROS
35 #define IFunctionDiscoveryNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
36 #define IFunctionDiscoveryNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
37 #define IFunctionDiscoveryNotification_Release(This) (This)->lpVtbl->Release(This)
38 #define IFunctionDiscoveryNotification_OnUpdate(This,enumQueryUpdateAction,fdqcQueryContext,pIFunctionInstance) (This)->lpVtbl->OnUpdate(This,enumQueryUpdateAction,fdqcQueryContext,pIFunctionInstance)
39 #define IFunctionDiscoveryNotification_OnError(This,hr,fdqcQueryContext,pszProvider) (This)->lpVtbl->OnError(This,hr,fdqcQueryContext,pszProvider)
40 #define IFunctionDiscoveryNotification_OnEvent(This,dwEventID,fdqcQueryContext,pszProvider) (This)->lpVtbl->OnEvent(This,dwEventID,fdqcQueryContext,pszProvider)
41 #endif /*COBJMACROS*/
42 
43 #endif /*(_WIN32_WINNT >= 0x0600)*/
44 
45 #endif /* _INC_FUNCTIONDISCOVERYNOTIFICATION */
46