#ifndef InspectorsEvents_H
#define InspectorsEvents_H
// InspectorsEvents DISPIDs
#define DISPID_INSPECTORSEVENTS_NEWINSPECTOR (0x0000f001)
// Outlook interface IDs
const IID*
InspectorsEvents_GetIID(
VOID
);
typedef struct DInspectorsEvents DInspectorsEvents;
typedef struct _DInspectorsEventsVtbl {
HRESULT (NDAPI *QueryInterface)(
DInspectorsEvents *This,
REFIID riid,
void **ppvObject
);
ULONG (NDAPI *AddRef)(
DInspectorsEvents *This
);
ULONG (NDAPI *Release)(
DInspectorsEvents *This
);
HRESULT (NDAPI *GetTypeInfoCount)(
DInspectorsEvents *This,
UINT *pctinfo
);
HRESULT (NDAPI *GetTypeInfo)(
DInspectorsEvents *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo
);
HRESULT (NDAPI *GetIDsOfNames)(
DInspectorsEvents *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId
);
HRESULT (NDAPI *Invoke)(
DInspectorsEvents *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr
);
} _DInspectorsEventsVtbl;
typedef struct DInspectorsEvents
{
const struct _DInspectorsEventsVtbl *lpVtbl;
} DInspectorsEvents;
typedef struct XAddin XAddin;
typedef struct XInspectorsEvents XInspectorsEvents;
struct XInspectorsEvents {
DInspectorsEvents iInspectorsEvents;
HRESULT (NDAPI *QueryInterface)(
XInspectorsEvents *pInspectorsEvents,
REFIID riid,
void **ppvObject
);
ULONG (NDAPI *AddRef)(
XInspectorsEvents *pInspectorsEvents
);
ULONG (NDAPI *Release)(
XInspectorsEvents *pInspectorsEvents
);
VOID (NDAPI *OnNewInspector)(
XInspectorsEvents *pInspectorsEvents,
IDispatch *pNewInspector
);
ULONG Ref;
DWORD CookieID;
XAddin *pAddin;
};
HRESULT
NDAPI
XInspectorsEvents_Create(
XAddin *pAddin,
XInspectorsEvents **ppInspectorsEvents
);
// macros
#define InspectorsEvents_QueryInterface(This, riid, ppv) \
((((This)->lpVtbl)->QueryInterface)((This), (riid), (ppv)))
#define InspectorsEvents_AddRef(This) \
((((This)->lpVtbl)->AddRef)(This))
#define InspectorsEvents_Release(This) \
((((This)->lpVtbl)->Release)(This))
#define InspectorsEvents_GetTypeInfoCount(This, pctinfo) \
((((This)->lpVtbl)->GetTypeInfoCount)((This), (pctinfo)))
#define InspectorsEvents_GetTypeInfo(This, iTInfo, lcid, ppTInfo) \
((((This)->lpVtbl)->GetTypeInfo)((This), (iTInfo), (lcid), (pctinfo)))
#define InspectorsEvents_GetIDsOfNames(This, riid, rgszNames, cNames, lcid, rgDispId) \
((((This)->lpVtbl)->GetIDsOfNames)((This), (riid), (rgszNames), (cNames), (lcid), (rgDispId)))
#define InspectorsEvents_Invoke(This, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr) \
((((This)->lpVtbl)->Invoke)((This), (riid), (lcid), (wFlags), (pDispParams), (pVarResult), (pExcepInfo), (puArgErr)))
#endif // InspectorsEvents_H