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