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 18DECLARE_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