/* * objidl.h Definition of basic COM interfaces * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #include #include #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __objidl_h__ #define __objidl_h__ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #include #include #ifdef __cplusplus extern "C" { #endif /* Forward declarations */ typedef interface IAdviseSink IAdviseSink; typedef interface IAsyncManager IAsyncManager; typedef interface IEnumString IEnumString; typedef interface IMoniker IMoniker; typedef interface IRunningObjectTable IRunningObjectTable; typedef interface IStorage IStorage; typedef interface IStream IStream; typedef interface ISynchronize ISynchronize; /* String name block */ typedef LPOLESTR *SNB; /* Pointer to clipboard format */ typedef CLIPFORMAT *LPCLIPFORMAT; /* RPC OLE data representation */ typedef unsigned long RPCOLEDATAREP; /* Apartment identifier data type */ typedef DWORD APARTMENTID; /* OLE authentication defaults */ #if (_WIN32_WINNT >= 0x0400) #define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)-1) #define COLE_DEFAULT_AUTHINFO ((void *)-1) #endif /* COM server information */ typedef struct _COSERVERINFO { DWORD dwReserved1; LPWSTR pwszName; COAUTHINFO *pAuthInfo; DWORD dwReserved2; } COSERVERINFO; /* External connection flags */ typedef enum tagEXTCONN { EXTCONN_STRONG = 0x00000001, EXTCONN_WEAK = 0x00000002, EXTCONN_CALLABLE = 0x00000004 } EXTCONN; /* IMultiQI::MultipleQueryInterfaces() parameters */ typedef struct tagMULTI_QI { const IID *pIID; IUnknown *pItf; HRESULT hr; } MULTI_QI; /* Bind options */ typedef struct tagBIND_OPTS { DWORD cbStruct; DWORD grfFlags; DWORD grfMode; DWORD dwTickCountDeadline; } BIND_OPTS; typedef BIND_OPTS *LPBIND_OPTS; /* Bind options (version 2) */ #ifdef __cplusplus typedef struct tagBIND_OPTS2 : public tagBIND_OPTS { DWORD dwTrackFlags; DWORD dwClassContext; LCID locale; COSERVERINFO *pServerInfo; } BIND_OPTS2; #else typedef struct tagBIND_OPTS2 { DWORD cbStruct; DWORD grfFlags; DWORD grfMode; DWORD dwTickCountDeadline; DWORD dwTrackFlags; DWORD dwClassContext; LCID locale; COSERVERINFO *pServerInfo; } BIND_OPTS2; #endif typedef BIND_OPTS2 *LPBIND_OPTS2; /* Bind options (version 3) */ #ifdef __cplusplus typedef struct tagBIND_OPTS3 : public tagBIND_OPTS2 { HWND hwnd; } BIND_OPTS3; #else typedef struct tagBIND_OPTS3 { DWORD cbStruct; DWORD grfFlags; DWORD grfMode; DWORD dwTickCountDeadline; DWORD dwTrackFlags; DWORD dwClassContext; LCID locale; COSERVERINFO *pServerInfo; } BIND_OPTS3; #endif typedef BIND_OPTS3 *LPBIND_OPTS3; /* Bind flags */ typedef enum tagBIND_FLAGS { BIND_MAYBOTHERUSER = 1, BIND_JUSTTEXTEXISTENCE = 2 } BIND_FLAGS; /* System moniker types */ typedef enum tagMKSYS { MKSYS_NONE = 0, MKSYS_GENERICCOMPOSITE = 1, MKSYS_FILEMONIKER = 2, MKSYS_ANTIMONIKER = 3, MKSYS_ITEMMONIKER = 4, MKSYS_POINTERMONIKER = 5, MKSYS_CLASSMONIKER = 7, MKSYS_OBJREFMONIKER = 8, MKSYS_SESSIONMONIKER = 9, MKSYS_LUAMONIKER = 10 } MKSYS; /* Moniker reductions */ typedef enum tagMKREDUCE { MKRREDUCE_ONE = 3 << 16, MKRREDUCE_TOUSER = 2 << 16, MKRREDUCE_THROUGHUSER = 1 << 16, MKRREDUCE_ALL = 0 << 16 } MKRREDUCE; /* Static storage */ typedef struct tagSTATSTG { LPOLESTR pwcsName; DWORD type; ULARGE_INTEGER cbSize; FILETIME mtime; FILETIME ctime; FILETIME atime; DWORD grfMode; DWORD grfLocksSupported; CLSID clsid; DWORD grfStateBits; DWORD reserved; } STATSTG; /* Storage types */ typedef enum tagSTGTY { STGTY_STORAGE = 1, STGTY_STREAM = 2, STGTY_LOCKBYTES = 3, STGTY_PROPERTY = 4 } STGTY; /* Stream seek values */ typedef enum tagSTREAM_SEEK { STREAM_SEEK_SET = 0, STREAM_SEEK_CUR = 1, STREAM_SEEK_END = 2 } STREAM_SEEK; /* Lock types */ typedef enum tagLOCKTYPE { LOCK_WRITE = 1, LOCK_EXCLUSIVE = 2, LOCK_ONLYONCE = 4 } LOCKTYPE; /* Data/view target device */ typedef struct tagDVTARGETDEVICE { DWORD tdSize; WORD tdDriverNameOffset; WORD tdDeviceNameOffset; WORD tdPortNameOffset; WORD tdExtDevmodeOffset; BYTE tdData[1]; } DVTARGETDEVICE; /* Data format information */ typedef struct tagFORMATETC { CLIPFORMAT cfFormat; DVTARGETDEVICE *ptd; DWORD dwAspect; LONG lindex; DWORD tymed; } FORMATETC; typedef FORMATETC *LPFORMATETC; /* Advise flags */ typedef enum tagADVF { ADVF_NODATA = 1, ADVF_PRIMEFIRST = 2, ADVF_ONLYONCE = 4, ADVF_DATAONSTOP = 64, ADVFCACHE_NOHANDLER = 8, ADVFCACHE_FORCEBUILTIN = 16, ADVFCACHE_ONSAVE = 32 } ADVF; /* Static data */ typedef struct tagSTATDATA { FORMATETC formatetc; DWORD advf; IAdviseSink *pAdvSink; DWORD dwConnection; } STATDATA; typedef STATDATA *LPSTATDATA; /* Type media */ typedef enum tagTYMED { TYMED_HGLOBAL = 1, TYMED_FILE = 2, TYMED_ISTREAM = 4, TYMED_ISTORAGE = 8, TYMED_GDI = 16, TYMED_MFPICT = 32, TYMED_ENHMF = 64, TYMED_NULL = 0 } TYMED; /* Storage medium */ typedef struct tagSTGMEDIUM { DWORD tymed; union { HBITMAP hBitmap; HMETAFILEPICT hMetaFilePict; HENHMETAFILE hEnhMetaFile; HGLOBAL hGlobal; LPOLESTR lpszFileName; IStream *pstm; IStorage *pstg; #ifdef NONAMELESSUNION } u; #else }; #endif IUnknown *pUnkForRelease; } STGMEDIUM; typedef STGMEDIUM *LPSTGMEDIUM; /* Flag storage medium */ typedef struct _FLAG_STGMEDIUM { long ContextFlags; long fPassOwnership; STGMEDIUM Stgmed; } FLAG_STGMEDIUM; /* Data format direction */ typedef enum tagDATADIR { DATADIR_GET = 1, DATADIR_SET = 2 } DATADIR; /* IMessageFilter::HandleInComingCall() call types */ typedef enum tagCALLTYPE { CALLTYPE_TOPLEVEL = 1, CALLTYPE_NESTED = 2, CALLTYPE_ASYNC = 3, CALLTYPE_TOPLEVEL_CALLPENDING = 4, CALLTYPE_ASYNC_CALLPENDING = 5 } CALLTYPE; /* Server call status values */ typedef enum tagSERVERCALL { SERVERCALL_ISHANDLED = 0, SERVERCALL_REJECTED = 1, SERVERCALL_RETRYLATER = 2 } SERVERCALL; /* Pending types */ typedef enum tagPENDINGTYPE { PENDINGTYPE_TOPLEVEL = 1, PENDINGTYPE_NESTED = 2 } PENDINGTYPE; /* IMessageFilter::MessagePending() return values */ typedef enum tagPENDINGMSG { PENDINGMSG_CANCELCALL = 0, PENDINGMSG_WAITNOPROCESS = 1, PENDINGMSG_WAITDEFPROCESS = 2 } PENDINGMSG; /* Interface information */ typedef struct tagINTERFACEINFO { IUnknown *pUnk; IID iid; WORD wMethod; } INTERFACEINFO; typedef INTERFACEINFO *LPINTERFACEINFO; /* RPC OLE message */ typedef struct tagRPCOLEMESSAGE { void *reserved1; RPCOLEDATAREP dataRepresentation; void *Buffer; ULONG cbBuffer; ULONG iMethod; void *reserved2[5]; ULONG rpcFlags; } RPCOLEMESSAGE; typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; /* Channel hook call information */ #if (_WIN32_WINNT >= 0x0400) typedef struct SChannelHookCallInfo { IID iid; DWORD cbSize; GUID uCausality; DWORD dwServerPid; DWORD iMethod; void *pObject; } SChannelHookCallInfo; #endif /* OLE authentication service */ #if (_WIN32_WINNT >= 0x0400) typedef struct tagSOLE_AUTHENTICATION_SERVICE { DWORD dwAuthnSvc; DWORD dwAuthzSvc; OLECHAR *pPrincipalName; HRESULT hr; } SOLE_AUTHENTICATION_SERVICE; typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; #endif /* OLE authentication capabilities */ #if (_WIN32_WINNT >= 0x0400) typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES { EOAC_NONE = 0x00000000, EOAC_MUTUAL_AUTH = 0x00000001, EOAC_STATIC_CLOAKING = 0x00000020, EOAC_DYNAMIC_CLOAKING = 0x00000040, EOAC_ANY_AUTHORITY = 0x00000080, EOAC_MAKE_FULLSIC = 0x00000100, EOAC_DEFAULT = 0x00000800, EOAC_SECURE_REFS = 0x00000002, EOAC_ACCESS_CONTROL = 0x00000004, EOAC_APPID = 0x00000008, EOAC_DYNAMIC = 0x00000010, EOAC_REQUIRE_FULLSIC = 0x00000200, EOAC_AUTO_IMPERSONATE = 0x00000400, EOAC_NO_CUSTOM_MARSHAL = 0x00002000, EOAC_DISABLE_AAA = 0x00001000 } EOLE_AUTHENTICATION_CAPABILITIES; #endif /* OLE authentication information */ #if (_WIN32_WINNT >= 0x0400) typedef struct tagSOLE_AUTHENTICATION_INFO { DWORD dwAuthnSvc; DWORD dwAuthzSvc; void *pAuthInfo; } SOLE_AUTHENTICATION_INFO; typedef SOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO; #endif /* OLE authentication list */ #if (_WIN32_WINNT >= 0x0400) typedef struct tagSOLE_AUTHENTICATION_LIST { DWORD cAuthInfo; SOLE_AUTHENTICATION_INFO *aAuthInfo; } SOLE_AUTHENTICATION_LIST; typedef SOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST; #endif /* COM binding properties */ #if (_WIN32_WINNT >= 0x0400) typedef enum { COMBND_RPCTIMEOUT = 0x00000001, COMBND_SERVER_LOCALITY = 0x00000002 } RPCOPT_PROPERTIES; #endif /* Server locality values */ #if (_WIN32_WINNT >= 0x0400) typedef enum { SERVER_LOCALITY_PROCESS_LOCAL = 0, SERVER_LOCALITY_MACHINE_LOCAL = 1, SERVER_LOCALITY_REMOTE = 2 } RPCOPT_SERVER_LOCALITY_VALUES; #endif /* COM global properties */ #if (_WIN32_WINNT >= 0x0400) typedef enum { COMGLB_EXCEPTION_HANDLING = 1, COMGLB_APPID = 2, COMGLB_RPC_THREADPOOL_SETTING = 3 } GLOBALOPT_PROPERTIES; #endif /* COM global exception handling values */ #if (_WIN32_WINNT >= 0x0400) typedef enum { COMGLB_EXCEPTION_HANDLE = 0, COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1, COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL, COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2 } GLOBALOPT_EH_VALUES; #endif /* COM global RPC thread pool values */ #if (_WIN32_WINNT >= 0x0400) typedef enum { COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0, COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1 } GLOBALOPT_RPCTP_VALUES; #endif /* Storage layout */ typedef struct tagStorageLayout { DWORD LayoutType; OLECHAR *pwcsElementName; LARGE_INTEGER cOffset; LARGE_INTEGER cBytes; } StorageLayout; /* DCOM call states */ typedef enum tagDCOM_CALL_STATE { DCOM_NONE = 0x00000000, DCOM_CALL_COMPLETE = 0x00000001, DCOM_CALL_CANCELED = 0x00000002 } DCOM_CALL_STATE; /* Application types */ typedef enum tagApplicationType { ServerApplication = 0, LibraryApplication = 1 } ApplicationType; /* Shutdown types */ typedef enum tagShutdownType { IdleShutdown = 0, ForcedShutdown = 1 } ShutdownType; /* Apartment types */ typedef enum _APTTYPE { APTTYPE_CURRENT = -1, APTTYPE_STA = 0, APTTYPE_MTA = 1, APTTYPE_NA = 2, APTTYPE_MAINSTA = 3 } APTTYPE; /* Apartment type qualifiers */ typedef enum _APTTYPEQUALIFIER { APTTYPEQUALIFIER_NONE = 0, APTTYPEQUALIFIER_IMPLICIT_MTA = 1, APTTYPEQUALIFIER_NA_ON_MTA = 2, APTTYPEQUALIFIER_NA_ON_STA = 3, APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4, APTTYPEQUALIFIER_NA_ON_MAINSTA = 5 } APTTYPEQUALIFIER; /* Thread types */ typedef enum _THDTYPE { THDTYPE_BLOCKMESSAGES = 0, THDTYPE_PROCESSMESSAGES = 1 } THDTYPE; /* GUIDs */ EXTERN_C const IID IID_IMarshal; EXTERN_C const IID IID_IMarshal2; EXTERN_C const IID IID_IMalloc; EXTERN_C const IID IID_IMallocSpy; EXTERN_C const IID IID_IStdMarshalInfo; EXTERN_C const IID IID_IExternalConnection; EXTERN_C const IID IID_IMultiQI; EXTERN_C const IID IID_IInternalUnknown; EXTERN_C const IID IID_IEnumUnknown; EXTERN_C const IID IID_IBindCtx; EXTERN_C const IID IID_IEnumMoniker; EXTERN_C const IID IID_IRunnableObject; EXTERN_C const IID IID_IRunningObjectTable; EXTERN_C const IID IID_IPersist; EXTERN_C const IID IID_IPersistStream; EXTERN_C const IID IID_IMoniker; EXTERN_C const IID IID_IROTData; EXTERN_C const IID IID_IEnumString; EXTERN_C const IID IID_ISequentialStream; EXTERN_C const IID IID_IStream; EXTERN_C const IID IID_IEnumSTATSTG; EXTERN_C const IID IID_IStorage; EXTERN_C const IID IID_IPersistFile; EXTERN_C const IID IID_IPersistStorage; EXTERN_C const IID IID_ILockBytes; EXTERN_C const IID IID_IEnumFORMATETC; EXTERN_C const IID IID_IEnumSTATDATA; EXTERN_C const IID IID_IRootStorage; EXTERN_C const IID IID_IAdviseSink; EXTERN_C const IID IID_IAdviseSink2; EXTERN_C const IID IID_IDataObject; EXTERN_C const IID IID_IDataAdviseHolder; EXTERN_C const IID IID_IMessageFilter; EXTERN_C const IID IID_IRpcChannelBuffer; EXTERN_C const IID IID_IRpcChannelBuffer2; EXTERN_C const IID IID_IAsyncRpcChannelBuffer; EXTERN_C const IID IID_IRpcChannelBuffer3; EXTERN_C const IID IID_IRpcSyntaxNegotiate; EXTERN_C const IID IID_IRpcProxyBuffer; EXTERN_C const IID IID_IRpcStubBuffer; EXTERN_C const IID IID_IPSFactoryBuffer; #if (_WIN32_WINNT >= 0x0400) EXTERN_C const IID IID_IChannelHook; EXTERN_C const IID IID_IClientSecurity; EXTERN_C const IID IID_IServerSecurity; EXTERN_C const IID IID_IClassActivator; EXTERN_C const IID IID_IRpcOptions; EXTERN_C const IID IID_IGlobalOptions; #endif EXTERN_C const IID IID_IFillLockBytes; EXTERN_C const IID IID_IProgressNotify; EXTERN_C const IID IID_ILayoutStorage; EXTERN_C const IID IID_IBlockingLock; EXTERN_C const IID IID_ITimeAndNoticeControl; EXTERN_C const IID IID_IOplockStorage; EXTERN_C const IID IID_ISurrogate; EXTERN_C const IID IID_IGlobalInterfaceTable; EXTERN_C const IID IID_IDirectWriterLock; EXTERN_C const IID IID_ISynchronize; EXTERN_C const IID IID_ISynchronizeHandle; EXTERN_C const IID IID_ISynchronizeEvent; EXTERN_C const IID IID_ISynchronizeContainer; EXTERN_C const IID IID_ISynchronizeMutex; EXTERN_C const IID IID_ICancelMethodCalls; EXTERN_C const IID IID_IAsyncManager; EXTERN_C const IID IID_ICallFactory; EXTERN_C const IID IID_IRpcHelper; EXTERN_C const IID IID_IReleaseMarshalBuffers; EXTERN_C const IID IID_IWaitMultiple; EXTERN_C const IID IID_IUrlMon; EXTERN_C const IID IID_IForegroundTransfer; EXTERN_C const IID IID_IAddrTrackingControl; EXTERN_C const IID IID_IAddrExclusionControl; EXTERN_C const IID IID_IPipeByte; EXTERN_C const IID IID_IPipeLong; EXTERN_C const IID IID_IPipeDouble; EXTERN_C const IID IID_IThumbnailExtractor; EXTERN_C const IID IID_IDummyHICONIncluder; EXTERN_C const IID IID_IProcessLock; EXTERN_C const IID IID_ISurrogateService; EXTERN_C const IID IID_IComThreadingInfo; EXTERN_C const IID IID_IProcessInitControl; #if (_WIN32_WINNT >= 0x0501) EXTERN_C const IID IID_IInitializeSpy; #endif EXTERN_C const FMTID FMTID_SummaryInformation; EXTERN_C const FMTID FMTID_DocSummaryInformation; EXTERN_C const FMTID FMTID_UserDefinedProperties; EXTERN_C const FMTID FMTID_DiscardableInformation; EXTERN_C const FMTID FMTID_ImageSummaryInformation; EXTERN_C const FMTID FMTID_AudioSummaryInformation; EXTERN_C const FMTID FMTID_VideoSummaryInformation; EXTERN_C const FMTID FMTID_MediaFileSummaryInformation; /* IMarshal interface */ #undef INTERFACE #define INTERFACE IMarshal DECLARE_INTERFACE_( IMarshal, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IMarshal methods */ STDMETHOD( GetUnmarshalClass )( THIS_ REFIID, void *, DWORD, void *, DWORD, CLSID * ) PURE; STDMETHOD( GetMarshalSizeMax )( THIS_ REFIID, void *, DWORD, void *, DWORD, DWORD * ) PURE; STDMETHOD( MarshalInterface )( THIS_ IStream *, REFIID, void *, DWORD, void *, DWORD ) PURE; STDMETHOD( UnmarshalInterface )( THIS_ IStream *, REFIID, void ** ) PURE; STDMETHOD( ReleaseMarshalData )( THIS_ IStream * ) PURE; STDMETHOD( DisconnectObject )( THIS_ DWORD ) PURE; }; typedef IMarshal *LPMARSHAL; /* IMarshal2 interface */ #undef INTERFACE #define INTERFACE IMarshal2 DECLARE_INTERFACE_( IMarshal2, IMarshal ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IMarshal methods */ STDMETHOD( GetUnmarshalClass )( THIS_ REFIID, void *, DWORD, void *, DWORD, CLSID * ) PURE; STDMETHOD( GetMarshalSizeMax )( THIS_ REFIID, void *, DWORD, void *, DWORD, DWORD * ) PURE; STDMETHOD( MarshalInterface )( THIS_ IStream *, REFIID, void *, DWORD, void *, DWORD ) PURE; STDMETHOD( UnmarshalInterface )( THIS_ IStream *, REFIID, void ** ) PURE; STDMETHOD( ReleaseMarshalData )( THIS_ IStream * ) PURE; STDMETHOD( DisconnectObject )( THIS_ DWORD ) PURE; }; typedef IMarshal2 *LPMARSHAL2; /* IMalloc interface */ #undef INTERFACE #define INTERFACE IMalloc DECLARE_INTERFACE_( IMalloc, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IMalloc methods */ STDMETHOD_( void *, Alloc )( THIS_ SIZE_T ) PURE; STDMETHOD_( void *, Realloc )( THIS_ void *, SIZE_T ) PURE; STDMETHOD_( void, Free )( THIS_ void * ) PURE; STDMETHOD_( SIZE_T, GetSize )( THIS_ void * ) PURE; STDMETHOD_( int, DidAlloc )( THIS_ void * ) PURE; STDMETHOD_( void, HeapMinimize )( THIS ) PURE; }; typedef IMalloc *LPMALLOC; /* IMallocSpy interface */ #undef INTERFACE #define INTERFACE IMallocSpy DECLARE_INTERFACE_( IMallocSpy, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IMallocSpy methods */ STDMETHOD_( SIZE_T, PreAlloc )( THIS_ SIZE_T ) PURE; STDMETHOD_( void *, PostAlloc )( THIS_ void * ) PURE; STDMETHOD_( void *, PreFree )( THIS_ void *, BOOL ) PURE; STDMETHOD_( void, PostFree )( THIS_ BOOL ) PURE; STDMETHOD_( SIZE_T, PreRealloc )( THIS_ void *, SIZE_T, void **, BOOL ) PURE; STDMETHOD_( void *, PostRealloc )( THIS_ void *, BOOL ) PURE; STDMETHOD_( void *, PreGetSize )( THIS_ void *, BOOL ) PURE; STDMETHOD_( SIZE_T, PostGetSize )( THIS_ SIZE_T, BOOL ) PURE; STDMETHOD_( void *, PreDidAlloc )( THIS_ void *, BOOL ) PURE; STDMETHOD_( int, PostDidAlloc )( THIS_ void *, BOOL, int ) PURE; STDMETHOD_( void, PreHeapMinimize )( THIS ) PURE; STDMETHOD_( void, PostHeapMinimize )( THIS ) PURE; }; typedef IMallocSpy *LPMALLOCSPY; /* IStdMarshalInfo interface */ #undef INTERFACE #define INTERFACE IStdMarshalInfo DECLARE_INTERFACE_( IStdMarshalInfo, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IStdMarshalInfo methods */ STDMETHOD( GetClassForHandler )( THIS_ DWORD, void *, CLSID * ) PURE; }; typedef IStdMarshalInfo *LPSTDMARSHALINFO; /* IExternalConnection interface */ #undef INTERFACE #define INTERFACE IExternalConnection DECLARE_INTERFACE_( IExternalConnection, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IExternalConnection methods */ STDMETHOD_( DWORD, AddConnection )( THIS_ DWORD, DWORD ) PURE; STDMETHOD_( DWORD, ReleaseConnection )( THIS_ DWORD, DWORD, BOOL ) PURE; }; typedef IExternalConnection *LPEXTERNALCONNECTION; /* IMultiQI interface */ #undef INTERFACE #define INTERFACE IMultiQI DECLARE_INTERFACE_( IMultiQI, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IMultiQI methods */ STDMETHOD( QueryMultipleInterfaces )( THIS_ ULONG, MULTI_QI * ) PURE; }; typedef IMultiQI *LPMULTIQI; /* IInternalUnknown interface */ #undef INTERFACE #define INTERFACE IInternalUnknown DECLARE_INTERFACE_( IInternalUnknown, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IInternalUnknown methods */ STDMETHOD( QueryInternalInterface )( THIS_ REFIID, void ** ) PURE; }; /* IEnumUnknown interface */ #undef INTERFACE #define INTERFACE IEnumUnknown DECLARE_INTERFACE_( IEnumUnknown, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IEnumUnknown methods */ STDMETHOD( Next )( THIS_ ULONG, IUnknown **, ULONG * ) PURE; STDMETHOD( Skip )( THIS_ ULONG ) PURE; STDMETHOD( Reset )( THIS ) PURE; STDMETHOD( Clone )( THIS_ IEnumUnknown ** ) PURE; }; typedef IEnumUnknown *LPENUMUNKNOWN; /* IBindCtx interface */ #undef INTERFACE #define INTERFACE IBindCtx DECLARE_INTERFACE_( IBindCtx, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IBindCtx methods */ STDMETHOD( RegisterObjectBound )( THIS_ IUnknown * ) PURE; STDMETHOD( RevokeObjectBound )( THIS_ IUnknown * ) PURE; STDMETHOD( ReleaseBoundObjects )( THIS ) PURE; STDMETHOD( SetBindOptions )( THIS_ BIND_OPTS * ) PURE; STDMETHOD( GetBindOptions )( THIS_ BIND_OPTS * ) PURE; STDMETHOD( GetRunningObjectTable )( THIS_ IRunningObjectTable ** ) PURE; STDMETHOD( RegisterObjectParam )( THIS_ LPOLESTR, IUnknown * ) PURE; STDMETHOD( GetObjectParam )( THIS_ LPOLESTR, IUnknown ** ) PURE; STDMETHOD( EnumObjectParam )( THIS_ IEnumString ** ) PURE; STDMETHOD( RevokeObjectParam )( THIS_ LPOLESTR ) PURE; }; typedef IBindCtx *LPBC; typedef IBindCtx *LPBINDCTX; /* IEnumMoniker interface */ #undef INTERFACE #define INTERFACE IEnumMoniker DECLARE_INTERFACE_( IEnumMoniker, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IEnumMoniker methods */ STDMETHOD( Next )( THIS_ ULONG, IMoniker **, ULONG * ) PURE; STDMETHOD( Skip )( THIS_ ULONG ) PURE; STDMETHOD( Reset )( THIS ) PURE; STDMETHOD( Clone )( THIS_ IEnumMoniker ** ) PURE; }; typedef IEnumMoniker *LPENUMMONIKER; /* IRunnableObject interface */ #undef INTERFACE #define INTERFACE IRunnableObject DECLARE_INTERFACE_( IRunnableObject, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRunnableObject methods */ STDMETHOD( GetRunningClass )( THIS_ LPCLSID ) PURE; STDMETHOD( Run )( THIS_ LPBINDCTX ) PURE; STDMETHOD_( BOOL, IsRunning )( THIS ) PURE; STDMETHOD( LockRunning )( THIS_ BOOL, BOOL ) PURE; STDMETHOD( SetContainedObject )( THIS_ BOOL ) PURE; }; typedef IRunnableObject *LPRUNNABLEOBJECT; /* IRunningObjectTable interface */ #undef INTERFACE #define INTERFACE IRunningObjectTable DECLARE_INTERFACE_( IRunningObjectTable, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRunningObjectTable methods */ STDMETHOD( Register )( THIS_ DWORD, IUnknown *, IMoniker *, DWORD * ) PURE; STDMETHOD( Revoke )( THIS_ DWORD ) PURE; STDMETHOD( IsRunning )( THIS_ IMoniker * ) PURE; STDMETHOD( GetObject )( THIS_ IMoniker *, IUnknown ** ) PURE; STDMETHOD( NoteChangeTime )( THIS_ DWORD, FILETIME * ) PURE; STDMETHOD( GetTimeOfLastChange )( THIS_ IMoniker *, FILETIME * ) PURE; STDMETHOD( EnumRunning )( THIS_ IEnumMoniker ** ) PURE; }; typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE; /* IPersist interface */ #undef INTERFACE #define INTERFACE IPersist DECLARE_INTERFACE_( IPersist, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPersist methods */ STDMETHOD( GetClassID )( THIS_ CLSID * ) PURE; }; typedef IPersist *LPPERSIST; /* IPersistStream interface */ #undef INTERFACE #define INTERFACE IPersistStream DECLARE_INTERFACE_( IPersistStream, IPersist ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPersist methods */ STDMETHOD( GetClassID )( THIS_ CLSID * ) PURE; /* IPersistStream methods */ STDMETHOD( IsDirty )( THIS ) PURE; STDMETHOD( Load )( THIS_ IStream * ) PURE; STDMETHOD( Save )( THIS_ IStream *, BOOL ) PURE; STDMETHOD( GetSizeMax )( THIS_ ULARGE_INTEGER * ) PURE; }; typedef IPersistStream *LPPERSISTSTREAM; /* IMoniker interface */ #undef INTERFACE #define INTERFACE IMoniker DECLARE_INTERFACE_( IMoniker, IPersistStream ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPersist methods */ STDMETHOD( GetClassID )( THIS_ CLSID * ) PURE; /* IPersistStream methods */ STDMETHOD( IsDirty )( THIS ) PURE; STDMETHOD( Load )( THIS_ IStream * ) PURE; STDMETHOD( Save )( THIS_ IStream *, BOOL ) PURE; STDMETHOD( GetSizeMax )( THIS_ ULARGE_INTEGER * ) PURE; /* IMoniker methods */ STDMETHOD( BindToObject )( THIS_ IBindCtx *, IMoniker *, REFIID, void ** ) PURE; STDMETHOD( BindToStorage )( THIS_ IBindCtx *, IMoniker *, REFIID, void ** ) PURE; STDMETHOD( Reduce )( THIS_ IBindCtx *, DWORD, IMoniker **, IMoniker ** ) PURE; STDMETHOD( ComposeWith )( THIS_ IMoniker *, BOOL, IMoniker ** ) PURE; STDMETHOD( Enum )( THIS_ BOOL, IEnumMoniker ** ) PURE; STDMETHOD( IsEqual )( THIS_ IMoniker * ) PURE; STDMETHOD( Hash )( THIS_ DWORD * ) PURE; STDMETHOD( IsRunning )( THIS_ IBindCtx *, IMoniker *, IMoniker * ) PURE; STDMETHOD( GetTimeOfLastChange )( THIS_ IBindCtx *, IMoniker *, FILETIME * ) PURE; STDMETHOD( Inverse )( THIS_ IMoniker ** ) PURE; STDMETHOD( CommonPrefixWith )( THIS_ IMoniker *, IMoniker ** ) PURE; STDMETHOD( RelativePathTo )( THIS_ IMoniker *, IMoniker ** ) PURE; STDMETHOD( GetDisplayName )( THIS_ IBindCtx *, IMoniker *, LPOLESTR * ) PURE; STDMETHOD( ParseDisplayName )( THIS_ IBindCtx *, IMoniker *, LPOLESTR, ULONG *, IMoniker ** ) PURE; STDMETHOD( IsSystemMoniker )( THIS_ DWORD * ) PURE; }; typedef IMoniker *LPMONIKER; /* IROTData interface */ #undef INTERFACE #define INTERFACE IROTData DECLARE_INTERFACE_( IROTData, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IROTData methods */ STDMETHOD( GetComparisonData )( THIS_ byte *, ULONG, ULONG * ) PURE; }; /* IEnumString interface */ #undef INTERFACE #define INTERFACE IEnumString DECLARE_INTERFACE_( IEnumString, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IEnumString methods */ STDMETHOD( Next )( THIS_ ULONG, LPOLESTR *, ULONG * ) PURE; STDMETHOD( Skip )( THIS_ ULONG ) PURE; STDMETHOD( Reset )( THIS ) PURE; STDMETHOD( Clone )( THIS_ IEnumString ** ) PURE; }; typedef IEnumString *LPENUMSTRING; /* ISequentialStream interface */ #undef INTERFACE #define INTERFACE ISequentialStream DECLARE_INTERFACE_( ISequentialStream, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISequentialStream methods */ STDMETHOD( Read )( THIS_ void *, ULONG, ULONG * ) PURE; STDMETHOD( Write )( THIS_ void const *, ULONG, ULONG * ) PURE; }; /* IStream interface */ #undef INTERFACE #define INTERFACE IStream DECLARE_INTERFACE_( IStream, ISequentialStream ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISequentialStream methods */ STDMETHOD( Read )( THIS_ void *, ULONG, ULONG * ) PURE; STDMETHOD( Write )( THIS_ void const *, ULONG, ULONG * ) PURE; /* IStream methods */ STDMETHOD( Seek )( THIS_ LARGE_INTEGER, DWORD, ULARGE_INTEGER * ) PURE; STDMETHOD( SetSize )( THIS_ ULARGE_INTEGER ) PURE; STDMETHOD( CopyTo )( THIS_ IStream *, ULARGE_INTEGER, ULARGE_INTEGER *, ULARGE_INTEGER * ) PURE; STDMETHOD( Commit )( THIS_ DWORD ) PURE; STDMETHOD( Revert )( THIS ) PURE; STDMETHOD( LockRegion )( THIS_ ULARGE_INTEGER, ULARGE_INTEGER, DWORD ) PURE; STDMETHOD( UnlockRegion )( THIS_ ULARGE_INTEGER, ULARGE_INTEGER, DWORD ) PURE; STDMETHOD( Stat )( THIS_ STATSTG *, DWORD ) PURE; STDMETHOD( Clone )( THIS_ IStream ** ) PURE; }; typedef IStream *LPSTREAM; /* IEnumSTATSTG interface */ #undef INTERFACE #define INTERFACE IEnumSTATSTG DECLARE_INTERFACE_( IEnumSTATSTG, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IEnumSTATSTG methods */ STDMETHOD( Next )( THIS_ ULONG, STATSTG *, ULONG * ) PURE; STDMETHOD( Skip )( THIS_ ULONG ) PURE; STDMETHOD( Reset )( THIS ) PURE; STDMETHOD( Clone )( THIS_ IEnumSTATSTG ** ) PURE; }; typedef IEnumSTATSTG *LPENUMSTATSTG; /* IStorage interface */ #undef INTERFACE #define INTERFACE IStorage DECLARE_INTERFACE_( IStorage, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IStorage methods */ STDMETHOD( CreateStream )( THIS_ const OLECHAR *, DWORD, DWORD, DWORD, IStream ** ) PURE; STDMETHOD( OpenStream )( THIS_ const OLECHAR *, void *, DWORD, DWORD, IStream ** ) PURE; STDMETHOD( CreateStorage )( THIS_ const OLECHAR *, DWORD, DWORD, DWORD, IStorage ** ) PURE; STDMETHOD( OpenStorage )( THIS_ const OLECHAR *, IStorage *, DWORD, SNB, DWORD, IStorage ** ) PURE; STDMETHOD( CopyTo )( THIS_ DWORD, IID const *, SNB, IStorage * ) PURE; STDMETHOD( MoveElementTo )( THIS_ const OLECHAR *, IStorage *, const OLECHAR *, DWORD ) PURE; STDMETHOD( Commit )( THIS_ DWORD ) PURE; STDMETHOD( Revert )( THIS ) PURE; STDMETHOD( EnumElements )( THIS_ DWORD, void *, DWORD, IEnumSTATSTG ** ) PURE; STDMETHOD( DestroyElement )( THIS_ const OLECHAR * ) PURE; STDMETHOD( RenameElement )( THIS_ const OLECHAR *, const OLECHAR * ) PURE; STDMETHOD( SetElementTimes )( THIS_ const OLECHAR *, FILETIME const *, FILETIME const *, FILETIME const * ) PURE; STDMETHOD( SetClass )( THIS_ REFCLSID ) PURE; STDMETHOD( SetStateBits )( THIS_ DWORD, DWORD ) PURE; STDMETHOD( Stat )( THIS_ STATSTG *, DWORD ) PURE; }; typedef IStorage *LPSTORAGE; /* IPersistFile interface */ #undef INTERFACE #define INTERFACE IPersistFile DECLARE_INTERFACE_( IPersistFile, IPersist ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPersist methods */ STDMETHOD( GetClassID )( THIS_ CLSID * ) PURE; /* IPersistFile methods */ STDMETHOD( IsDirty )( THIS ) PURE; STDMETHOD( Load )( THIS_ LPCOLESTR, DWORD ) PURE; STDMETHOD( Save )( THIS_ LPCOLESTR, BOOL ) PURE; STDMETHOD( SaveCompleted )( THIS_ LPCOLESTR ) PURE; STDMETHOD( GetCurFile )( THIS_ LPOLESTR * ) PURE; }; typedef IPersistFile *LPPERSISTFILE; /* IPersistStorage interface */ #undef INTERFACE #define INTERFACE IPersistStorage DECLARE_INTERFACE_( IPersistStorage, IPersist ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPersist methods */ STDMETHOD( GetClassID )( THIS_ CLSID * ) PURE; /* IPersistStorage methods */ STDMETHOD( IsDirty )( THIS ) PURE; STDMETHOD( InitNew )( THIS_ IStorage * ) PURE; STDMETHOD( Load )( THIS_ IStorage * ) PURE; STDMETHOD( Save )( THIS_ IStorage *, BOOL ) PURE; STDMETHOD( SaveCompleted )( THIS_ IStorage * ) PURE; STDMETHOD( HandsOffStorage )( THIS ) PURE; }; typedef IPersistStorage *LPPERSISTSTORAGE; /* ILockBytes interface */ #undef INTERFACE #define INTERFACE ILockBytes DECLARE_INTERFACE_( ILockBytes, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ILockBytes methods */ STDMETHOD( ReadAt )( THIS_ ULARGE_INTEGER, void *, ULONG, ULONG * ) PURE; STDMETHOD( WriteAt )( THIS_ ULARGE_INTEGER, void const *, ULONG, ULONG * ) PURE; STDMETHOD( Flush )( THIS ) PURE; STDMETHOD( SetSize )( THIS_ ULARGE_INTEGER ) PURE; STDMETHOD( LockRegion )( THIS_ ULARGE_INTEGER, ULARGE_INTEGER, DWORD ) PURE; STDMETHOD( UnlockRegion )( THIS_ ULARGE_INTEGER, ULARGE_INTEGER, DWORD ) PURE; STDMETHOD( Stat )( THIS_ STATSTG *, DWORD ) PURE; }; typedef ILockBytes *LPLOCKBYTES; /* IEnumFORMATETC interface */ #undef INTERFACE #define INTERFACE IEnumFORMATETC DECLARE_INTERFACE_( IEnumFORMATETC, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IEnumFORMATETC methods */ STDMETHOD( Next )( THIS_ ULONG, FORMATETC *, ULONG * ) PURE; STDMETHOD( Skip )( THIS_ ULONG ) PURE; STDMETHOD( Reset )( THIS ) PURE; STDMETHOD( Clone )( THIS_ IEnumFORMATETC ** ) PURE; }; typedef IEnumFORMATETC *LPENUMFORMATETC; /* IEnumSTATDATA interface */ #undef INTERFACE #define INTERFACE IEnumSTATDATA DECLARE_INTERFACE_( IEnumSTATDATA, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IEnumSTATDATA methods */ STDMETHOD( Next )( THIS_ ULONG, STATDATA *, ULONG * ) PURE; STDMETHOD( Skip )( THIS_ ULONG ) PURE; STDMETHOD( Reset )( THIS ) PURE; STDMETHOD( Clone )( THIS_ IEnumSTATDATA ** ) PURE; }; typedef IEnumSTATDATA *LPENUMSTATDATA; /* IRootStorage interface */ #undef INTERFACE #define INTERFACE IRootStorage DECLARE_INTERFACE_( IRootStorage, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRootStorage methods */ STDMETHOD( SwitchToFile )( THIS_ LPOLESTR ) PURE; }; typedef IRootStorage *LPROOTSTORAGE; /* IAdviseSink interface */ #undef INTERFACE #define INTERFACE IAdviseSink DECLARE_INTERFACE_( IAdviseSink, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IAdviseSink methods */ STDMETHOD_( void, OnDataChange )( THIS_ FORMATETC *, STGMEDIUM * ) PURE; STDMETHOD_( void, OnViewChange )( THIS_ DWORD, LONG ) PURE; STDMETHOD_( void, OnRename )( THIS_ IMoniker * ) PURE; STDMETHOD_( void, OnSave )( THIS ) PURE; STDMETHOD_( void, OnClose )( THIS ) PURE; }; typedef IAdviseSink *LPADVISESINK; /* IAdviseSink2 interface */ #undef INTERFACE #define INTERFACE IAdviseSink2 DECLARE_INTERFACE_( IAdviseSink2, IAdviseSink ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IAdviseSink methods */ STDMETHOD_( void, OnDataChange )( THIS_ FORMATETC *, STGMEDIUM * ) PURE; STDMETHOD_( void, OnViewChange )( THIS_ DWORD, LONG ) PURE; STDMETHOD_( void, OnRename )( THIS_ IMoniker * ) PURE; STDMETHOD_( void, OnSave )( THIS ) PURE; STDMETHOD_( void, OnClose )( THIS ) PURE; /* IAdviseSink2 methods */ STDMETHOD_( void, OnLinkSrcChange )( THIS_ IMoniker * ) PURE; }; typedef IAdviseSink2 *LPADVISESINK2; /* IDataObject interface */ #undef INTERFACE #define INTERFACE IDataObject DECLARE_INTERFACE_( IDataObject, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDataObject methods */ STDMETHOD( GetData )( THIS_ FORMATETC *, STGMEDIUM * ) PURE; STDMETHOD( GetDataHere )( THIS_ FORMATETC *, STGMEDIUM * ) PURE; STDMETHOD( QueryGetData )( THIS_ FORMATETC * ) PURE; STDMETHOD( GetCanonicalFormatEtc )( THIS_ FORMATETC *, FORMATETC * ) PURE; STDMETHOD( SetData )( THIS_ FORMATETC *, STGMEDIUM *, BOOL ) PURE; STDMETHOD( EnumFormatEtc )( THIS_ DWORD, IEnumFORMATETC ** ) PURE; STDMETHOD( DAdvise )( THIS_ FORMATETC *, DWORD, IAdviseSink *, DWORD * ) PURE; STDMETHOD( DUnadvise )( THIS_ DWORD ) PURE; STDMETHOD( EnumDAdvise )( THIS_ IEnumSTATDATA ** ) PURE; }; typedef IDataObject *LPDATAOBJECT; /* IDataAdviseHolder interface */ #undef INTERFACE #define INTERFACE IDataAdviseHolder DECLARE_INTERFACE_( IDataAdviseHolder, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDataAdviseHolder methods */ STDMETHOD( Advise )( THIS_ IDataObject *, FORMATETC *, DWORD, IAdviseSink *, DWORD * ) PURE; STDMETHOD( Unadvise )( THIS_ DWORD ) PURE; STDMETHOD( EnumAdvise )( THIS_ IEnumSTATDATA ** ) PURE; STDMETHOD( SendOnDataChange )( THIS_ IDataObject *, DWORD, DWORD ) PURE; }; typedef IDataAdviseHolder *LPDATAADVISEHOLDER; /* IMessageFilter interface */ #undef INTERFACE #define INTERFACE IMessageFilter DECLARE_INTERFACE_( IMessageFilter, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IMessageFilter methods */ STDMETHOD_( DWORD, HandleInComingCall )( THIS_ DWORD, HTASK, DWORD, LPINTERFACEINFO ) PURE; STDMETHOD_( DWORD, RetryRejectedCall )( THIS_ HTASK, DWORD, DWORD ) PURE; STDMETHOD_( DWORD, MessagePending )( THIS_ HTASK, DWORD, DWORD ) PURE; }; typedef IMessageFilter *LPMESSAGEFILTER; /* IRpcChannelBuffer interface */ #undef INTERFACE #define INTERFACE IRpcChannelBuffer DECLARE_INTERFACE_( IRpcChannelBuffer, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcChannelBuffer methods */ STDMETHOD( GetBuffer )( THIS_ RPCOLEMESSAGE *, REFIID ) PURE; STDMETHOD( SendReceive )( THIS_ RPCOLEMESSAGE *, ULONG * ) PURE; STDMETHOD( FreeBuffer )( THIS_ RPCOLEMESSAGE * ) PURE; STDMETHOD( GetDestCtx )( THIS_ DWORD *, void ** ) PURE; STDMETHOD( IsConnected )( THIS ) PURE; }; /* IRpcChannelBuffer2 interface */ #undef INTERFACE #define INTERFACE IRpcChannelBuffer2 DECLARE_INTERFACE_( IRpcChannelBuffer2, IRpcChannelBuffer ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcChannelBuffer methods */ STDMETHOD( GetBuffer )( THIS_ RPCOLEMESSAGE *, REFIID ) PURE; STDMETHOD( SendReceive )( THIS_ RPCOLEMESSAGE *, ULONG * ) PURE; STDMETHOD( FreeBuffer )( THIS_ RPCOLEMESSAGE * ) PURE; STDMETHOD( GetDestCtx )( THIS_ DWORD *, void ** ) PURE; STDMETHOD( IsConnected )( THIS ) PURE; /* IRpcChannelBuffer2 methods */ STDMETHOD( GetProtocolVersion )( THIS_ DWORD * ) PURE; }; /* IAsyncRpcChannelBuffer interface */ #undef INTERFACE #define INTERFACE IAsyncRpcChannelBuffer DECLARE_INTERFACE_( IAsyncRpcChannelBuffer, IRpcChannelBuffer2 ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcChannelBuffer methods */ STDMETHOD( GetBuffer )( THIS_ RPCOLEMESSAGE *, REFIID ) PURE; STDMETHOD( SendReceive )( THIS_ RPCOLEMESSAGE *, ULONG * ) PURE; STDMETHOD( FreeBuffer )( THIS_ RPCOLEMESSAGE * ) PURE; STDMETHOD( GetDestCtx )( THIS_ DWORD *, void ** ) PURE; STDMETHOD( IsConnected )( THIS ) PURE; /* IRpcChannelBuffer2 methods */ STDMETHOD( GetProtocolVersion )( THIS_ DWORD * ) PURE; /* IAsyncRpcChannelBuffer methods */ STDMETHOD( Send )( THIS_ RPCOLEMESSAGE *, ISynchronize *, ULONG * ) PURE; STDMETHOD( Receive )( THIS_ RPCOLEMESSAGE *, ULONG * ) PURE; STDMETHOD( GetDestCtxEx )( THIS_ RPCOLEMESSAGE *, DWORD *, void ** ) PURE; }; /* IRpcChannelBuffer3 interface */ #undef INTERFACE #define INTERFACE IRpcChannelBuffer3 DECLARE_INTERFACE_( IRpcChannelBuffer3, IRpcChannelBuffer2 ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcChannelBuffer methods */ STDMETHOD( GetBuffer )( THIS_ RPCOLEMESSAGE *, REFIID ) PURE; STDMETHOD( SendReceive )( THIS_ RPCOLEMESSAGE *, ULONG * ) PURE; STDMETHOD( FreeBuffer )( THIS_ RPCOLEMESSAGE * ) PURE; STDMETHOD( GetDestCtx )( THIS_ DWORD *, void ** ) PURE; STDMETHOD( IsConnected )( THIS ) PURE; /* IRpcChannelBuffer2 methods */ STDMETHOD( GetProtocolVersion )( THIS_ DWORD * ) PURE; /* IRpcChannelBuffer3 methods */ STDMETHOD( Send )( THIS_ RPCOLEMESSAGE *, ULONG * ) PURE; STDMETHOD( Receive )( THIS_ RPCOLEMESSAGE *, ULONG, ULONG * ) PURE; STDMETHOD( Cancel )( THIS_ RPCOLEMESSAGE * ) PURE; STDMETHOD( GetCallContext )( THIS_ RPCOLEMESSAGE *, REFIID, void ** ) PURE; STDMETHOD( GetDestCtxEx )( THIS_ RPCOLEMESSAGE *, DWORD *, void ** ) PURE; STDMETHOD( GetState )( THIS_ RPCOLEMESSAGE *, DWORD * ) PURE; STDMETHOD( RegisterAsync )( THIS_ RPCOLEMESSAGE *, IAsyncManager * ) PURE; }; /* IRpcSyntaxNegotiate interface */ #undef INTERFACE #define INTERFACE IRpcSyntaxNegotiate DECLARE_INTERFACE_( IRpcSyntaxNegotiate, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcSyntaxNegotiate methods */ STDMETHOD( NegotiateSyntax )( THIS_ RPCOLEMESSAGE * ) PURE; }; /* IRpcProxyBuffer interface */ #undef INTERFACE #define INTERFACE IRpcProxyBuffer DECLARE_INTERFACE_( IRpcProxyBuffer, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcProxyBuffer methods */ STDMETHOD( Connect )( THIS_ IRpcChannelBuffer * ) PURE; STDMETHOD_( void, Disconnect )( THIS ) PURE; }; /* IRpcStubBuffer interface */ #undef INTERFACE #define INTERFACE IRpcStubBuffer DECLARE_INTERFACE_( IRpcStubBuffer, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcStubBuffer methods */ STDMETHOD( Connect )( THIS_ IUnknown * ) PURE; STDMETHOD_( void, Disconnect )( THIS ) PURE; STDMETHOD( Invoke )( THIS_ RPCOLEMESSAGE *, IRpcChannelBuffer * ) PURE; STDMETHOD_( IRpcStubBuffer *, IsIIDSupported )( THIS_ REFIID ) PURE; STDMETHOD_( ULONG, CountRefs )( THIS ) PURE; STDMETHOD( DebugServerQueryInterface )( THIS_ void ** ) PURE; STDMETHOD_( void, DebugServerRelease )( THIS_ void * ) PURE; }; /* IPSFactoryBuffer interface */ #undef INTERFACE #define INTERFACE IPSFactoryBuffer DECLARE_INTERFACE_( IPSFactoryBuffer, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPSFactoryBuffer methods */ STDMETHOD( CreateProxy )( THIS_ IUnknown *, REFIID, IRpcProxyBuffer *, void ** ) PURE; STDMETHOD( CreateStub )( THIS_ REFIID, IUnknown *, IRpcStubBuffer * ) PURE; }; /* IChannelHook interface */ #if (_WIN32_WINNT >= 0x0400) #undef INTERFACE #define INTERFACE IChannelHook DECLARE_INTERFACE_( IChannelHook, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IChannelHook methods */ STDMETHOD_( void, ClientGetSize )( THIS_ REFGUID, REFIID, ULONG * ) PURE; STDMETHOD_( void, ClientFillBuffer )( THIS_ REFGUID, REFIID, ULONG *, void * ) PURE; STDMETHOD_( void, ClientNotify )( THIS_ REFGUID, REFIID, ULONG, void *, DWORD, HRESULT ) PURE; STDMETHOD_( void, ServerNotify )( THIS_ REFGUID, REFIID, ULONG, void *, DWORD ) PURE; STDMETHOD_( void, ServerGetSize )( THIS_ REFGUID, REFIID, HRESULT, ULONG * ) PURE; STDMETHOD_( void, ServerFillBuffer )( THIS_ REFGUID, REFIID, ULONG *, void *, HRESULT ) PURE; }; #endif /* IClientSecurity interface */ #if (_WIN32_WINNT >= 0x0400) #undef INTERFACE #define INTERFACE IClientSecurity DECLARE_INTERFACE_( IClientSecurity, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IClientSecurity methods */ STDMETHOD( QueryBlanket )( THIS_ IUnknown *, DWORD *, DWORD *, OLECHAR **, DWORD *, DWORD *, void **, DWORD * ) PURE; STDMETHOD( SetBlanket )( THIS_ IUnknown *, DWORD, DWORD, OLECHAR *, DWORD, DWORD, void *, DWORD ) PURE; STDMETHOD( CopyProxy )( THIS_ IUnknown *, IUnknown ** ) PURE; }; #endif /* IServerSecurity interface */ #if (_WIN32_WINNT >= 0x0400) #undef INTERFACE #define INTERFACE IServerSecurity DECLARE_INTERFACE_( IServerSecurity, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IServerSecurity methods */ STDMETHOD( QueryBlanket )( THIS_ DWORD *, DWORD *, OLECHAR **, DWORD *, DWORD *, void **, DWORD * ) PURE; STDMETHOD( ImpersonateClient )( THIS ) PURE; STDMETHOD( RevertToSelf )( THIS ) PURE; STDMETHOD_( BOOL, IsImpersonating )( THIS ) PURE; }; #endif /* IClassActivator interface */ #if (_WIN32_WINNT >= 0x0400) #undef INTERFACE #define INTERFACE IClassActivator DECLARE_INTERFACE_( IClassActivator, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IClassActivator methods */ STDMETHOD( GetClassObject )( THIS_ REFCLSID, DWORD, LCID, REFIID, void ** ) PURE; }; #endif /* IRpcOptions interface */ #if (_WIN32_WINNT >= 0x0400) #undef INTERFACE #define INTERFACE IRpcOptions DECLARE_INTERFACE_( IRpcOptions, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcOptions methods */ STDMETHOD( Set )( THIS_ IUnknown *, RPCOPT_PROPERTIES, ULONG_PTR ) PURE; STDMETHOD( Query )( THIS_ IUnknown *, RPCOPT_PROPERTIES, ULONG_PTR * ) PURE; }; #endif /* IGlobalOptions interface */ #if (_WIN32_WINNT >= 0x0400) #undef INTERFACE #define INTERFACE IGlobalOptions DECLARE_INTERFACE_( IGlobalOptions, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IGlobalOptions methods */ STDMETHOD( Set )( THIS_ GLOBALOPT_PROPERTIES, ULONG_PTR ) PURE; STDMETHOD( Query )( THIS_ GLOBALOPT_PROPERTIES, ULONG_PTR * ) PURE; }; #endif /* IFillLockBytes interface */ #undef INTERFACE #define INTERFACE IFillLockBytes DECLARE_INTERFACE_( IFillLockBytes, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IFillLockBytes methods */ STDMETHOD( FillAppend )( THIS_ void const *, ULONG, ULONG * ) PURE; STDMETHOD( FillAt )( THIS_ ULARGE_INTEGER, void const *, ULONG, ULONG * ) PURE; STDMETHOD( SetFillSize )( THIS_ ULARGE_INTEGER ) PURE; STDMETHOD( Terminate )( THIS_ BOOL ) PURE; }; /* IProgressNotify interface */ #undef INTERFACE #define INTERFACE IProgressNotify DECLARE_INTERFACE_( IProgressNotify, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IProgressNotify methods */ STDMETHOD( OnProgress )( THIS_ DWORD, DWORD, BOOL, BOOL ) PURE; }; /* ILayoutStorage interface */ #undef INTERFACE #define INTERFACE ILayoutStorage DECLARE_INTERFACE_( ILayoutStorage, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ILayoutStorage methods */ STDMETHOD( LayoutScript )( THIS_ StorageLayout *, DWORD, DWORD ) PURE; STDMETHOD( BeginMonitor )( THIS ) PURE; STDMETHOD( EndMonitor )( THIS ) PURE; STDMETHOD( ReLayoutDocfile )( THIS_ OLECHAR * ) PURE; STDMETHOD( ReLayoutDocfileOnILockBytes )( THIS_ ILockBytes * ) PURE; }; /* IBlockingLock interface */ #undef INTERFACE #define INTERFACE IBlockingLock DECLARE_INTERFACE_( IBlockingLock, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IBlockingLock methods */ STDMETHOD( Lock )( THIS_ DWORD ) PURE; STDMETHOD( Unlock )( THIS ) PURE; }; /* ITimeAndNoticeControl interface */ #undef INTERFACE #define INTERFACE ITimeAndNoticeControl DECLARE_INTERFACE_( ITimeAndNoticeControl, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ITimeAndNoticeControl methods */ STDMETHOD( SuppressChanges )( THIS_ DWORD, DWORD ) PURE; }; /* IOplockStorage interface */ #undef INTERFACE #define INTERFACE IOplockStorage DECLARE_INTERFACE_( IOplockStorage, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IOplockStorage methods */ STDMETHOD( CreateStorageEx )( THIS_ LPCWSTR, DWORD, DWORD, DWORD, REFIID, void ** ) PURE; STDMETHOD( OpenStorageEx )( THIS_ LPCWSTR, DWORD, DWORD, DWORD, REFIID, void ** ) PURE; }; /* ISurrogate interface */ #undef INTERFACE #define INTERFACE ISurrogate DECLARE_INTERFACE_( ISurrogate, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISurrogate methods */ STDMETHOD( LoadDllServer )( THIS_ REFCLSID ) PURE; STDMETHOD( FreeSurrogate )( THIS ) PURE; }; typedef ISurrogate *LPSURROGATE; /* IGlobalInterfaceTable interface */ #undef INTERFACE #define INTERFACE IGlobalInterfaceTable DECLARE_INTERFACE_( IGlobalInterfaceTable, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IGlobalInterfaceTable methods */ STDMETHOD( RegisterInterfaceInGlobal )( THIS_ IUnknown *, REFIID, DWORD * ) PURE; STDMETHOD( RevokeInterfaceFromGlobal )( THIS_ DWORD ) PURE; STDMETHOD( GetInterfaceFromGlobal )( THIS_ DWORD, REFIID, void ** ) PURE; }; typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; /* IDirectWriterLock interface */ #undef INTERFACE #define INTERFACE IDirectWriterLock DECLARE_INTERFACE_( IDirectWriterLock, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDirectWriterLock methods */ STDMETHOD( WaitForWriteAccess )( THIS_ DWORD ) PURE; STDMETHOD( ReleaseWriteAccess )( THIS ) PURE; STDMETHOD( HaveWriteAccess )( THIS ) PURE; }; /* ISynchronize interface */ #undef INTERFACE #define INTERFACE ISynchronize DECLARE_INTERFACE_( ISynchronize, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISynchronize methods */ STDMETHOD( Wait )( THIS_ DWORD, DWORD ) PURE; STDMETHOD( Signal )( THIS ) PURE; STDMETHOD( Reset )( THIS ) PURE; }; /* ISynchronizeHandle interface */ #undef INTERFACE #define INTERFACE ISynchronizeHandle DECLARE_INTERFACE_( ISynchronizeHandle, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISynchronizeHandle methods */ STDMETHOD( GetHandle )( THIS_ HANDLE * ) PURE; }; /* ISynchronizeEvent interface */ #undef INTERFACE #define INTERFACE ISynchronizeEvent DECLARE_INTERFACE_( ISynchronizeEvent, ISynchronizeHandle ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISynchronizeHandle methods */ STDMETHOD( GetHandle )( THIS_ HANDLE * ) PURE; /* ISynchronizeEvent methods */ STDMETHOD( SetEventHandle )( THIS_ HANDLE * ) PURE; }; /* ISynchronizeContainer interface */ #undef INTERFACE #define INTERFACE ISynchronizeContainer DECLARE_INTERFACE_( ISynchronizeContainer, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISynchronizeContainer methods */ STDMETHOD( AddSynchronize )( THIS_ ISynchronize * ) PURE; STDMETHOD( WaitMultiple )( THIS_ DWORD, DWORD, ISynchronize ** ) PURE; }; /* ISynchronizeMutex interface */ #undef INTERFACE #define INTERFACE ISynchronizeMutex DECLARE_INTERFACE_( ISynchronizeMutex, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISynchronizeMutex methods */ STDMETHOD( ReleaseMutex )( THIS ) PURE; }; /* ICancelMethodCalls interface */ #undef INTERFACE #define INTERFACE ICancelMethodCalls DECLARE_INTERFACE_( ICancelMethodCalls, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ICancelMethodCalls methods */ STDMETHOD( Cancel )( THIS_ ULONG ) PURE; STDMETHOD( TestCancel )( THIS ) PURE; }; typedef ICancelMethodCalls *LPCANCELMETHODCALLS; /* IAsyncManager interface */ #undef INTERFACE #define INTERFACE IAsyncManager DECLARE_INTERFACE_( IAsyncManager, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IAsyncManager methods */ STDMETHOD( CompleteCall )( THIS_ HRESULT ) PURE; STDMETHOD( GetCallContext )( THIS_ REFIID, void ** ) PURE; STDMETHOD( GetState )( THIS_ ULONG * ) PURE; }; /* ICallFactory interface */ #undef INTERFACE #define INTERFACE ICallFactory DECLARE_INTERFACE_( ICallFactory, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ICallFactory methods */ STDMETHOD( CreateCall )( THIS_ REFIID, IUnknown *, REFIID, IUnknown ** ) PURE; }; /* IRpcHelper interface */ #undef INTERFACE #define INTERFACE IRpcHelper DECLARE_INTERFACE_( IRpcHelper, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IRpcHelper methods */ STDMETHOD( GetDCOMProtocolVersion )( THIS_ DWORD * ) PURE; STDMETHOD( GetIIDFromOBJREF )( THIS_ void *, IID ** ) PURE; }; /* IReleaseMarshalBuffers interface */ #undef INTERFACE #define INTERFACE IReleaseMarshalBuffers DECLARE_INTERFACE_( IReleaseMarshalBuffers, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IReleaseMarshalBuffers methods */ STDMETHOD( ReleaseMarshalBuffers )( THIS_ RPCOLEMESSAGE *, DWORD, IUnknown * ) PURE; }; /* IWaitMultiple interface */ #undef INTERFACE #define INTERFACE IWaitMultiple DECLARE_INTERFACE_( IWaitMultiple, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IWaitMultiple methods */ STDMETHOD( WaitMultiple )( THIS_ DWORD, ISynchronize ** ) PURE; STDMETHOD( AddSynchronize )( THIS_ ISynchronize * ) PURE; }; /* IUrlMon interface */ #undef INTERFACE #define INTERFACE IUrlMon DECLARE_INTERFACE_( IUrlMon, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IUrlMon methods */ STDMETHOD( AsyncGetClassBits )( THIS_ REFCLSID, LPCWSTR, LPCWSTR, DWORD, DWORD, LPCWSTR, IBindCtx *, DWORD, REFIID, DWORD ) PURE; }; /* IForegroundTransfer interface */ #undef INTERFACE #define INTERFACE IForegroundTransfer DECLARE_INTERFACE_( IForegroundTransfer, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IForegroundTransfer methods */ STDMETHOD( AllowForegroundTransfer )( THIS_ void * ) PURE; }; /* IAddrTrackingControl interface */ #undef INTERFACE #define INTERFACE IAddrTrackingControl DECLARE_INTERFACE_( IAddrTrackingControl, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IAddrTrackingControl methods */ STDMETHOD( EnableCOMDynamicAddrTracking )( THIS ) PURE; STDMETHOD( DisableCOMDynamicAddrTracking )( THIS ) PURE; }; typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL; /* IAddrExclusionControl interface */ #undef INTERFACE #define INTERFACE IAddrExclusionControl DECLARE_INTERFACE_( IAddrExclusionControl, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IAddrExclusionControl methods */ STDMETHOD( GetCurrentAddrExclusionList )( THIS_ REFIID, void ** ) PURE; STDMETHOD( UpdateAddrExclusionList )( THIS_ IUnknown * ) PURE; }; typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL; /* IPipeByte interface */ #undef INTERFACE #define INTERFACE IPipeByte DECLARE_INTERFACE_( IPipeByte, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPipeByte methods */ STDMETHOD( Pull )( THIS_ BYTE *, ULONG, ULONG * ) PURE; STDMETHOD( Push )( THIS_ BYTE *, ULONG ) PURE; }; /* IPipeLong interface */ #undef INTERFACE #define INTERFACE IPipeLong DECLARE_INTERFACE_( IPipeLong, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPipeLong methods */ STDMETHOD( Pull )( THIS_ LONG *, ULONG, ULONG * ) PURE; STDMETHOD( Push )( THIS_ LONG *, ULONG ) PURE; }; /* IPipeDouble interface */ #undef INTERFACE #define INTERFACE IPipeDouble DECLARE_INTERFACE_( IPipeDouble, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IPipeDouble methods */ STDMETHOD( Pull )( THIS_ DOUBLE *, ULONG, ULONG * ) PURE; STDMETHOD( Push )( THIS_ DOUBLE *, ULONG ) PURE; }; /* IThumbnailExtractor interface */ #undef INTERFACE #define INTERFACE IThumbnailExtractor DECLARE_INTERFACE_( IThumbnailExtractor, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IThumbnailExtractor methods */ STDMETHOD( ExtractThumbnail )( THIS_ IStorage *, ULONG, ULONG, ULONG *, ULONG *, HBITMAP * ) PURE; STDMETHOD( OnFileUpdated )( THIS_ IStorage * ) PURE; }; /* IDummyHICONIncluder interface */ #undef INTERFACE #define INTERFACE IDummyHICONIncluder DECLARE_INTERFACE_( IDummyHICONIncluder, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IDummyHICONIncluder methods */ STDMETHOD( Dummy )( THIS_ HICON, HDC ) PURE; }; /* IProcessLock interface */ #undef INTERFACE #define INTERFACE IProcessLock DECLARE_INTERFACE_( IProcessLock, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IProcessLock methods */ STDMETHOD_( ULONG, AddRefOnProcess )( THIS ) PURE; STDMETHOD_( ULONG, ReleaseOnProcess )( THIS ) PURE; }; /* ISurrogateService interface */ #undef INTERFACE #define INTERFACE ISurrogateService DECLARE_INTERFACE_( ISurrogateService, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* ISurrogateService methods */ STDMETHOD( Init )( THIS_ REFGUID, IProcessLock *, BOOL * ) PURE; STDMETHOD( ApplicationLaunch )( THIS_ REFGUID, ApplicationType ) PURE; STDMETHOD( ApplicationFree )( THIS_ REFGUID ) PURE; STDMETHOD( CatalogRefresh )( THIS_ ULONG ) PURE; STDMETHOD( ProcessShutdown )( THIS_ ShutdownType ) PURE; }; /* IComThreadingInfo interface */ #undef INTERFACE #define INTERFACE IComThreadingInfo DECLARE_INTERFACE_( IComThreadingInfo, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IComThreadingInfo methods */ STDMETHOD( GetCurrentApartmentType )( THIS_ APTTYPE * ) PURE; STDMETHOD( GetCurrentThreadType )( THIS_ THDTYPE * ) PURE; STDMETHOD( GetCurrentLogicalThreadId )( THIS_ GUID * ) PURE; STDMETHOD( SetCurrentLogicalThreadId )( THIS_ REFGUID ) PURE; }; /* IProcessInitControl interface */ #undef INTERFACE #define INTERFACE IProcessInitControl DECLARE_INTERFACE_( IProcessInitControl, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IProcessInitControl methods */ STDMETHOD( ResetInitializerTimeout )( THIS_ DWORD ) PURE; }; /* IInitializeSpy interface */ #if (_WIN32_WINNT >= 0x0501) #undef INTERFACE #define INTERFACE IInitializeSpy DECLARE_INTERFACE_( IInitializeSpy, IUnknown ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IInitializeSpy methods */ STDMETHOD( PreInitialize )( THIS_ DWORD, DWORD ) PURE; STDMETHOD( PostInitialize )( THIS_ HRESULT, DWORD, DWORD ) PURE; STDMETHOD( PreUninitialize )( THIS_ DWORD ) PURE; STDMETHOD( PostUninitialize )( THIS_ DWORD ) PURE; }; typedef IInitializeSpy *LPINITIALIZESPY; #endif /* C object macros */ #if (!defined( __cplusplus ) || defined( CINTERFACE )) && defined( COBJMACROS ) #define IMarshal_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IMarshal_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IMarshal_Release( x ) \ (x)->lpVtbl->Release( x ) #define IMarshal_GetUnmarshalClass( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->GetUnmarshalClass( x, p1, p2, p3, p4, p5, p6 ) #define IMarshal_GetMarshalSizeMax( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->GetMarshalSizeMax( x, p1, p2, p3, p4, p5, p6 ) #define IMarshal_MarshalInterface( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->MarshalInterface( x, p1, p2, p3, p4, p5, p6 ) #define IMarshal_UnmarshalInterface( x, p1, p2, p3 ) \ (x)->lpVtbl->UnmarshalInterface( x, p1, p2, p3 ) #define IMarshal_ReleaseMarshalData( x, p ) \ (x)->lpVtbl->ReleaseMarshalData( x, p ) #define IMarshal_DisconnectObject( x, p ) \ (x)->lpVtbl->DisconnectObject( x, p ) #define IMarshal2_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IMarshal2_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IMarshal2_Release( x ) \ (x)->lpVtbl->Release( x ) #define IMarshal2_GetUnmarshalClass( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->GetUnmarshalClass( x, p1, p2, p3, p4, p5, p6 ) #define IMarshal2_GetMarshalSizeMax( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->GetMarshalSizeMax( x, p1, p2, p3, p4, p5, p6 ) #define IMarshal2_MarshalInterface( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->MarshalInterface( x, p1, p2, p3, p4, p5, p6 ) #define IMarshal2_UnmarshalInterface( x, p1, p2, p3 ) \ (x)->lpVtbl->UnmarshalInterface( x, p1, p2, p3 ) #define IMarshal2_ReleaseMarshalData( x, p ) \ (x)->lpVtbl->ReleaseMarshalData( x, p ) #define IMarshal2_DisconnectObject( x, p ) \ (x)->lpVtbl->DisconnectObject( x, p ) #define IMalloc_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IMalloc_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IMalloc_Release( x ) \ (x)->lpVtbl->Release( x ) #define IMalloc_Alloc( x, p ) \ (x)->lpVtbl->Alloc( x, p ) #define IMalloc_Realloc( x, p1, p2 ) \ (x)->lpVtbl->Realloc( x, p1, p2 ) #define IMalloc_Free( x, p ) \ (x)->lpVtbl->Free( x, p ) #define IMalloc_GetSize( x, p ) \ (x)->lpVtbl->GetSize( x, p ) #define IMalloc_DidAlloc( x, p ) \ (x)->lpVtbl->DidAlloc( x, p ) #define IMalloc_HeapMinimize( x ) \ (x)->lpVtbl->HeapMinimize( x ) #define IMallocSpy_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IMallocSpy_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IMallocSpy_Release( x ) \ (x)->lpVtbl->Release( x ) #define IMallocSpy_PreAlloc( x, p ) \ (x)->lpVtbl->PreAlloc( x, p ) #define IMallocSpy_PostAlloc( x, p ) \ (x)->lpVtbl->PostAlloc( x, p ) #define IMallocSpy_PreFree( x, p1, p2 ) \ (x)->lpVtbl->PreFree( x, p1, p2 ) #define IMallocSpy_PostFree( x, p ) \ (x)->lpVtbl->PostFree( x, p ) #define IMallocSpy_PreRealloc( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->PreRealloc( x, p1, p2, p3, p4 ) #define IMallocSpy_PostRealloc( x, p1, p2 ) \ (x)->lpVtbl->PostRealloc( x, p1, p2 ) #define IMallocSpy_PreGetSize( x, p1, p2 ) \ (x)->lpVtbl->PreGetSize( x, p1, p2 ) #define IMallocSpy_PostGetSize( x, p1, p2 ) \ (x)->lpVtbl->PostGetSize( x, p1, p2 ) #define IMallocSpy_PreDidAlloc( x, p1, p2 ) \ (x)->lpVtbl->PreDidAlloc( x, p1, p2 ) #define IMallocSpy_PostDidAlloc( x, p1, p2, p3 ) \ (x)->lpVtbl->PostDidAlloc( x, p1, p2, p3 ) #define IMallocSpy_PreHeapMinimize( x ) \ (x)->lpVtbl->PreHeapMinimize( x ) #define IMallocSpy_PostHeapMinimize( x ) \ (x)->lpVtbl->PostHeapMinimize( x ) #define IStdMarshalInfo_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IStdMarshalInfo_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IStdMarshalInfo_Release( x ) \ (x)->lpVtbl->Release( x ) #define IStdMarshalInfo_GetClassForHandler( x, p1, p2, p3 ) \ (x)->lpVtbl->GetClassForHandler( x, p1, p2, p3 ) #define IExternalConnection_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IExternalConnection_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IExternalConnection_Release( x ) \ (x)->lpVtbl->Release( x ) #define IExternalConnection_AddConnection( x, p1, p2 ) \ (x)->lpVtbl->AddConnection( x, p1, p2 ) #define IExternalConnection_ReleaseConnection( x, p1, p2, p3 ) \ (x)->lpVtbl->ReleaseConnection( x, p1, p2, p3 ) #define IMultiQI_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IMultiQI_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IMultiQI_Release( x ) \ (x)->lpVtbl->Release( x ) #define IMultiQI_QueryMultipleInterfaces( x, p1, p2 ) \ (x)->lpVtbl->QueryMultipleInterfaces( x, p1, p2 ) #define IInternalUnknown_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IInternalUnknown_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IInternalUnknown_Release( x ) \ (x)->lpVtbl->Release( x ) #define IInternalUnknown_QueryInternalInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInternalInterface( x, p1, p2 ) #define IEnumUnknown_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IEnumUnknown_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IEnumUnknown_Release( x ) \ (x)->lpVtbl->Release( x ) #define IEnumUnknown_Next( x, p1, p2, p3 ) \ (x)->lpVtbl->Next( x, p1, p2, p3 ) #define IEnumUnknown_Skip( x, p ) \ (x)->lpVtbl->Skip( x, p ) #define IEnumUnknown_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define IEnumUnknown_Clone( x, p ) \ (x)->lpVtbl->Clone( x, p ) #define IBindCtx_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IBindCtx_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IBindCtx_Release( x ) \ (x)->lpVtbl->Release( x ) #define IBindCtx_RegisterObjectBound( x, p ) \ (x)->lpVtbl->RegisterObjectBound( x, p ) #define IBindCtx_RevokeObjectBound( x, p ) \ (x)->lpVtbl->RevokeObjectBound( x, p ) #define IBindCtx_ReleaseBoundObjects( x ) \ (x)->lpVtbl->ReleaseBoundObjects( x ) #define IBindCtx_SetBindOptions( x, p ) \ (x)->lpVtbl->SetBindOptions( x, p ) #define IBindCtx_GetBindOptions( x, p ) \ (x)->lpVtbl->GetBindOptions( x, p ) #define IBindCtx_GetRunningObjectTable( x, p ) \ (x)->lpVtbl->GetRunningObjectTable( x, p ) #define IBindCtx_RegisterObjectParam( x, p1, p2 ) \ (x)->lpVtbl->RegisterObjectParam( x, p1, p2 ) #define IBindCtx_GetObjectParam( x, p1, p2 ) \ (x)->lpVtbl->GetObjectParam( x, p1, p2 ) #define IBindCtx_EnumObjectParam( x, p ) \ (x)->lpVtbl->EnumObjectParam( x, p ) #define IBindCtx_RevokeObjectParam( x, p ) \ (x)->lpVtbl->RevokeObjectParam( x, p ) #define IEnumMoniker_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IEnumMoniker_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IEnumMoniker_Release( x ) \ (x)->lpVtbl->Release( x ) #define IEnumMoniker_Next( x, p1, p2, p3 ) \ (x)->lpVtbl->Next( x, p1, p2, p3 ) #define IEnumMoniker_Skip( x, p ) \ (x)->lpVtbl->Skip( x, p ) #define IEnumMoniker_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define IEnumMoniker_Clone( x, p ) \ (x)->lpVtbl->Clone( x, p ) #define IRunnableObject_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRunnableObject_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRunnableObject_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRunnableObject_GetRunningClass( x, p ) \ (x)->lpVtbl->GetRunningClass( x, p ) #define IRunnableObject_Run( x, p ) \ (x)->lpVtbl->Run( x, p ) #define IRunnableObject_IsRunning( x ) \ (x)->lpVtbl->IsRunning( x ) #define IRunnableObject_LockRunning( x, p1, p2 ) \ (x)->lpVtbl->LockRunning( x, p1, p2 ) #define IRunnableObject_SetContainedObject( x, p ) \ (x)->lpVtbl->SetContainedObject( x, p ) #define IRunningObjectTable_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRunningObjectTable_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRunningObjectTable_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRunningObjectTable_Register( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->Register( x, p1, p2, p3, p4 ) #define IRunningObjectTable_Revoke( x, p ) \ (x)->lpVtbl->Revoke( x, p ) #define IRunningObjectTable_IsRunning( x, p ) \ (x)->lpVtbl->IsRunning( x, p ) #define IRunningObjectTable_GetObject( x, p1, p2 ) \ (x)->lpVtbl->GetObject( x, p1, p2 ) #define IRunningObjectTable_NoteChangeTime( x, p1, p2 ) \ (x)->lpVtbl->NoteChangeTime( x, p1, p2 ) #define IRunningObjectTable_GetTimeOfLastChange( x, p1, p2 ) \ (x)->lpVtbl->GetTimeOfLastChange( x, p1, p2 ) #define IRunningObjectTable_EnumRunning( x, p ) \ (x)->lpVtbl->EnumRunning( x, p ) #define IPersist_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPersist_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPersist_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPersist_GetClassID( x, p ) \ (x)->lpVtbl->GetClassID( x, p ) #define IPersistStream_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPersistStream_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPersistStream_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPersistStream_GetClassID( x, p ) \ (x)->lpVtbl->GetClassID( x, p ) #define IPersistStream_IsDirty( x ) \ (x)->lpVtbl->IsDirty( x ) #define IPersistStream_Load( x, p ) \ (x)->lpVtbl->Load( x, p ) #define IPersistStream_Save( x, p1, p2 ) \ (x)->lpVtbl->Save( x, p1, p2 ) #define IPersistStream_GetSizeMax( x, p ) \ (x)->lpVtbl->GetSizeMax( x, p ) #define IMoniker_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IMoniker_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IMoniker_Release( x ) \ (x)->lpVtbl->Release( x ) #define IMoniker_GetClassID( x, p ) \ (x)->lpVtbl->GetClassID( x, p ) #define IMoniker_IsDirty( x ) \ (x)->lpVtbl->IsDirty( x ) #define IMoniker_Load( x, p ) \ (x)->lpVtbl->Load( x, p ) #define IMoniker_Save( x, p1, p2 ) \ (x)->lpVtbl->Save( x, p1, p2 ) #define IMoniker_GetSizeMax( x, p ) \ (x)->lpVtbl->GetSizeMax( x, p ) #define IMoniker_BindToObject( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->BindToObject( x, p1, p2, p3, p4 ) #define IMoniker_BindToStorage( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->BindToStorage( x, p1, p2, p3, p4 ) #define IMoniker_Reduce( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->Reduce( x, p1, p2, p3, p4 ) #define IMoniker_ComposeWith( x, p1, p2, p3 ) \ (x)->lpVtbl->ComposeWith( x, p1, p2, p3 ) #define IMoniker_Enum( x, p1, p2 ) \ (x)->lpVtbl->Enum( x, p1, p2 ) #define IMoniker_IsEqual( x, p ) \ (x)->lpVtbl->IsEqual( x, p ) #define IMoniker_Hash( x, p ) \ (x)->lpVtbl->Hash( x, p ) #define IMoniker_IsRunning( x, p1, p2, p3 ) \ (x)->lpVtbl->IsRunning( x, p1, p2, p3 ) #define IMoniker_GetTimeOfLastChange( x, p1, p2, p3 ) \ (x)->lpVtbl->GetTimeOfLastChange( x, p1, p2, p3 ) #define IMoniker_Inverse( x, p ) \ (x)->lpVtbl->Inverse( x, p ) #define IMoniker_CommonPrefixWith( x, p1, p2 ) \ (x)->lpVtbl->CommonPrefixWith( x, p1, p2 ) #define IMoniker_RelativePathTo( x, p1, p2 ) \ (x)->lpVtbl->RelativePathTo( x, p1, p2 ) #define IMoniker_GetDisplayName( x, p1, p2, p3 ) \ (x)->lpVtbl->GetDisplayName( x, p1, p2, p3 ) #define IMoniker_ParseDisplayName( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->ParseDisplayName( x, p1, p2, p3, p4, p5 ) #define IMoniker_IsSystemMoniker( x, p ) \ (x)->lpVtbl->IsSystemMoniker( x, p ) #define IROTData_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IROTData_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IROTData_Release( x ) \ (x)->lpVtbl->Release( x ) #define IROTData_GetComparisonData( x, p1, p2, p3 ) \ (x)->lpVtbl->GetComparisonData( x, p1, p2, p3 ) #define IEnumString_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IEnumString_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IEnumString_Release( x ) \ (x)->lpVtbl->Release( x ) #define IEnumString_Next( x, p1, p2, p3 ) \ (x)->lpVtbl->Next( x, p1, p2, p3 ) #define IEnumString_Skip( x, p ) \ (x)->lpVtbl->Skip( x, p ) #define IEnumString_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define IEnumString_Clone( x, p ) \ (x)->lpVtbl->Clone( x, p ) #define ISequentialStream_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ISequentialStream_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ISequentialStream_Release( x ) \ (x)->lpVtbl->Release( x ) #define ISequentialStream_Read( x, p1, p2, p3 ) \ (x)->lpVtbl->Read( x, p1, p2, p3 ) #define ISequentialStream_Write( x, p1, p2, p3 ) \ (x)->lpVtbl->Write( x, p1, p2, p3 ) #define IStream_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IStream_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IStream_Release( x ) \ (x)->lpVtbl->Release( x ) #define IStream_Read( x, p1, p2, p3 ) \ (x)->lpVtbl->Read( x, p1, p2, p3 ) #define IStream_Write( x, p1, p2, p3 ) \ (x)->lpVtbl->Write( x, p1, p2, p3 ) #define IStream_Seek( x, p1, p2, p3 ) \ (x)->lpVtbl->Seek( x, p1, p2, p3 ) #define IStream_SetSize( x, p ) \ (x)->lpVtbl->SetSize( x, p ) #define IStream_CopyTo( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->CopyTo( x, p1, p2, p3, p4 ) #define IStream_Commit( x, p ) \ (x)->lpVtbl->Commit( x, p ) #define IStream_Revert( x ) \ (x)->lpVtbl->Revert( x ) #define IStream_LockRegion( x, p1, p2, p3 ) \ (x)->lpVtbl->LockRegion( x, p1, p2, p3 ) #define IStream_UnlockRegion( x, p1, p2, p3 ) \ (x)->lpVtbl->UnlockRegion( x, p1, p2, p3 ) #define IStream_Stat( x, p1, p2 ) \ (x)->lpVtbl->Stat( x, p1, p2 ) #define IStream_Clone( x, p ) \ (x)->lpVtbl->Clone( x, p ) #define IEnumSTATSTG_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IEnumSTATSTG_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IEnumSTATSTG_Release( x ) \ (x)->lpVtbl->Release( x ) #define IEnumSTATSTG_Next( x, p1, p2, p3 ) \ (x)->lpVtbl->Next( x, p1, p2, p3 ) #define IEnumSTATSTG_Skip( x, p ) \ (x)->lpVtbl->Skip( x, p ) #define IEnumSTATSTG_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define IEnumSTATSTG_Clone( x, p ) \ (x)->lpVtbl->Clone( x, p ) #define IStorage_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IStorage_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IStorage_Release( x ) \ (x)->lpVtbl->Release( x ) #define IStorage_CreateStream( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->CreateStream( x, p1, p2, p3, p4, p5 ) #define IStorage_OpenStream( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->OpenStream( x, p1, p2, p3, p4, p5 ) #define IStorage_CreateStorage( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->CreateStorage( x, p1, p2, p3, p4, p5 ) #define IStorage_OpenStorage( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->OpenStorage( x, p1, p2, p3, p4, p5, p6 ) #define IStorage_CopyTo( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->CopyTo( x, p1, p2, p3, p4 ) #define IStorage_MoveElementTo( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->MoveElementTo( x, p1, p2, p3, p4 ) #define IStorage_Commit( x, p ) \ (x)->lpVtbl->Commit( x, p ) #define IStorage_Revert( x ) \ (x)->lpVtbl->Revert( x ) #define IStorage_EnumElements( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->EnumElements( x, p1, p2, p3, p4 ) #define IStorage_DestroyElement( x, p ) \ (x)->lpVtbl->DestroyElement( x, p ) #define IStorage_RenameElement( x, p1, p2 ) \ (x)->lpVtbl->RenameElement( x, p1, p2 ) #define IStorage_SetElementTimes( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->SetElementTimes( x, p1, p2, p3, p4 ) #define IStorage_SetClass( x, p ) \ (x)->lpVtbl->SetClass( x, p ) #define IStorage_SetStateBits( x, p1, p2 ) \ (x)->lpVtbl->SetStateBits( x, p1, p2 ) #define IStorage_Stat( x, p1, p2 ) \ (x)->lpVtbl->Stat( x, p1, p2 ) #define IPersistFile_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPersistFile_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPersistFile_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPersistFile_GetClassID( x, p ) \ (x)->lpVtbl->GetClassID( x, p ) #define IPersistFile_IsDirty( x ) \ (x)->lpVtbl->IsDirty( x ) #define IPersistFile_Load( x, p1, p2 ) \ (x)->lpVtbl->Load( x, p1, p2 ) #define IPersistFile_Save( x, p1, p2 ) \ (x)->lpVtbl->Save( x, p1, p2 ) #define IPersistFile_SaveCompleted( x, p ) \ (x)->lpVtbl->SaveCompleted( x, p ) #define IPersistFile_GetCurFile( x, p ) \ (x)->lpVtbl->GetCurFile( x, p ) #define IPersistStorage_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPersistStorage_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPersistStorage_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPersistStorage_GetClassID( x, p ) \ (x)->lpVtbl->GetClassID( x, p ) #define IPersistStorage_IsDirty( x ) \ (x)->lpVtbl->IsDirty( x ) #define IPersistStorage_InitNew( x, p ) \ (x)->lpVtbl->InitNew( x, p ) #define IPersistStorage_Load( x, p ) \ (x)->lpVtbl->Load( x, p ) #define IPersistStorage_Save( x, p1, p2 ) \ (x)->lpVtbl->Save( x, p1, p2 ) #define IPersistStorage_SaveCompleted( x, p ) \ (x)->lpVtbl->SaveCompleted( x, p ) #define IPersistStorage_HandsOffStorage( x ) \ (x)->lpVtbl->HandsOffStorage( x ) #define ILockBytes_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ILockBytes_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ILockBytes_Release( x ) \ (x)->lpVtbl->Release( x ) #define ILockBytes_ReadAt( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->ReadAt( x, p1, p2, p3, p4 ) #define ILockBytes_WriteAt( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->WriteAt( x, p1, p2, p3, p4 ) #define ILockBytes_Flush( x ) \ (x)->lpVtbl->Flush( x ) #define ILockBytes_SetSize( x, p ) \ (x)->lpVtbl->SetSize( x, p ) #define ILockBytes_LockRegion( x, p1, p2, p3 ) \ (x)->lpVtbl->LockRegion( x, p1, p2, p3 ) #define ILockBytes_UnlockRegion( x, p1, p2, p3 ) \ (x)->lpVtbl->UnlockRegion( x, p1, p2, p3 ) #define ILockBytes_Stat( x, p1, p2 ) \ (x)->lpVtbl->Stat( x, p1, p2 ) #define IEnumFORMATETC_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IEnumFORMATETC_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IEnumFORMATETC_Release( x ) \ (x)->lpVtbl->Release( x ) #define IEnumFORMATETC_Next( x, p1, p2, p3 ) \ (x)->lpVtbl->Next( x, p1, p2, p3 ) #define IEnumFORMATETC_Skip( x, p ) \ (x)->lpVtbl->Skip( x, p ) #define IEnumFORMATETC_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define IEnumFORMATETC_Clone( x, p ) \ (x)->lpVtbl->Clone( x, p ) #define IEnumSTATDATA_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IEnumSTATDATA_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IEnumSTATDATA_Release( x ) \ (x)->lpVtbl->Release( x ) #define IEnumSTATDATA_Next( x, p1, p2, p3 ) \ (x)->lpVtbl->Next( x, p1, p2, p3 ) #define IEnumSTATDATA_Skip( x, p ) \ (x)->lpVtbl->Skip( x, p ) #define IEnumSTATDATA_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define IEnumSTATDATA_Clone( x, p ) \ (x)->lpVtbl->Clone( x, p ) #define IRootStorage_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRootStorage_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRootStorage_Release( x ) \ (x)->lpVtbl->Release( x ) #define IAdviseSink_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IAdviseSink_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IAdviseSink_Release( x ) \ (x)->lpVtbl->Release( x ) #define IAdviseSink_OnDataChange( x, p1, p2 ) \ (x)->lpVtbl->OnDataChange( x, p1, p2 ) #define IAdviseSink_OnViewChange( x, p1, p2 ) \ (x)->lpVtbl->OnViewChange( x, p1, p2 ) #define IAdviseSink_OnRename( x, p ) \ (x)->lpVtbl->OnRename( x, p ) #define IAdviseSink_OnSave( x ) \ (x)->lpVtbl->OnSave( x ) #define IAdviseSink_OnClose( x ) \ (x)->lpVtbl->OnClose( x ) #define IAdviseSink2_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IAdviseSink2_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IAdviseSink2_Release( x ) \ (x)->lpVtbl->Release( x ) #define IAdviseSink2_OnDataChange( x, p1, p2 ) \ (x)->lpVtbl->OnDataChange( x, p1, p2 ) #define IAdviseSink2_OnViewChange( x, p1, p2 ) \ (x)->lpVtbl->OnViewChange( x, p1, p2 ) #define IAdviseSink2_OnRename( x, p ) \ (x)->lpVtbl->OnRename( x, p ) #define IAdviseSink2_OnSave( x ) \ (x)->lpVtbl->OnSave( x ) #define IAdviseSink2_OnClose( x ) \ (x)->lpVtbl->OnClose( x ) #define IAdviseSink2_OnLinkSrcChange( x, p ) \ (x)->lpVtbl->OnLinkSrcChange( x, p ) #define IDataObject_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDataObject_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDataObject_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDataObject_GetData( x, p1, p2 ) \ (x)->lpVtbl->GetData( x, p1, p2 ) #define IDataObject_GetDataHere( x, p1, p2 ) \ (x)->lpVtbl->GetDataHere( x, p1, p2 ) #define IDataObject_QueryGetData( x, p ) \ (x)->lpVtbl->QueryGetData( x, p ) #define IDataObject_GetCanonicalFormatEtc( x, p1, p2 ) \ (x)->lpVtbl->GetCanonicalFormatEtc( x, p1, p2 ) #define IDataObject_SetData( x, p1, p2, p3 ) \ (x)->lpVtbl->SetData( x, p1, p2, p3 ) #define IDataObject_EnumFormatEtc( x, p1, p2 ) \ (x)->lpVtbl->EnumFormatEtc( x, p1, p2 ) #define IDataObject_DAdvise( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->DAdvise( x, p1, p2, p3, p4 ) #define IDataObject_DUnadvise( x, p ) \ (x)->lpVtbl->DUnadvise( x, p ) #define IDataObject_EnumDAdvise( x, p ) \ (x)->lpVtbl->EnumDAdvise( x, p ) #define IDataAdviseHolder_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDataAdviseHolder_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDataAdviseHolder_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDataAdviseHolder_Advise( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->Advise( x, p1, p2, p3, p4, p5 ) #define IDataAdviseHolder_Unadvise( x, p ) \ (x)->lpVtbl->Unadvise( x, p ) #define IDataAdviseHolder_EnumAdvise( x, p ) \ (x)->lpVtbl->EnumAdvise( x, p ) #define IDataAdviseHolder_SendOnDataChange( x, p1, p2, p3 ) \ (x)->lpVtbl->SendOnDataChange( x, p1, p2, p3 ) #define IMessageFilter_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IMessageFilter_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IMessageFilter_Release( x ) \ (x)->lpVtbl->Release( x ) #define IMessageFilter_HandleInComingCall( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->HandleInComingCall( x, p1, p2, p3, p4 ) #define IMessageFilter_RetryRejectedCall( x, p1, p2 ) \ (x)->lpVtbl->RetryRejectedCall( x, p1, p2 ) #define IMessageFilter_MessagePending( x, p1, p2, p3 ) \ (x)->lpVtbl->MessagePending( x, p1, p2, p3 ) #define IRpcChannelBuffer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcChannelBuffer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcChannelBuffer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcChannelBuffer_GetBuffer( x, p1, p2 ) \ (x)->lpVtbl->GetBuffer( x, p1, p2 ) #define IRpcChannelBuffer_SendReceive( x, p1, p2 ) \ (x)->lpVtbl->SendReceive( x, p1, p2 ) #define IRpcChannelBuffer_FreeBuffer( x, p ) \ (x)->lpVtbl->FreeBuffer( x, p ) #define IRpcChannelBuffer_GetDestCtx( x, p1, p2 ) \ (x)->lpVtbl->GetDestCtx( x, p1, p2 ) #define IRpcChannelBuffer_IsConnected( x ) \ (x)->lpVtbl->IsConnected( x ) #define IRpcChannelBuffer2_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcChannelBuffer2_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcChannelBuffer2_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcChannelBuffer2_GetBuffer( x, p1, p2 ) \ (x)->lpVtbl->GetBuffer( x, p1, p2 ) #define IRpcChannelBuffer2_SendReceive( x, p1, p2 ) \ (x)->lpVtbl->SendReceive( x, p1, p2 ) #define IRpcChannelBuffer2_FreeBuffer( x, p ) \ (x)->lpVtbl->FreeBuffer( x, p ) #define IRpcChannelBuffer2_GetDestCtx( x, p1, p2 ) \ (x)->lpVtbl->GetDestCtx( x, p1, p2 ) #define IRpcChannelBuffer2_IsConnected( x ) \ (x)->lpVtbl->IsConnected( x ) #define IRpcChannelBuffer2_GetProtocolVersion( x, p ) \ (x)->lpVtbl->GetProtocolVersion( x, p ) #define IAsyncRpcChannelBuffer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IAsyncRpcChannelBuffer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IAsyncRpcChannelBuffer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IAsyncRpcChannelBuffer_GetBuffer( x, p1, p2 ) \ (x)->lpVtbl->GetBuffer( x, p1, p2 ) #define IAsyncRpcChannelBuffer_SendReceive( x, p1, p2 ) \ (x)->lpVtbl->SendReceive( x, p1, p2 ) #define IAsyncRpcChannelBuffer_FreeBuffer( x, p ) \ (x)->lpVtbl->FreeBuffer( x, p ) #define IAsyncRpcChannelBuffer_GetDestCtx( x, p1, p2 ) \ (x)->lpVtbl->GetDestCtx( x, p1, p2 ) #define IAsyncRpcChannelBuffer_IsConnected( x ) \ (x)->lpVtbl->IsConnected( x ) #define IAsyncRpcChannelBuffer_GetProtocolVersion( x, p ) \ (x)->lpVtbl->GetProtocolVersion( x, p ) #define IAsyncRpcChannelBuffer_Send( x, p1, p2, p3 ) \ (x)->lpVtbl->Send( x, p1, p2, p3 ) #define IAsyncRpcChannelBuffer_Receive( x, p1, p2 ) \ (x)->lpVtbl->Receive( x, p1, p2 ) #define IAsyncRpcChannelBuffer_GetDestCtxEx( x, p1, p2, p3 ) \ (x)->lpVtbl->GetDestCtxEx( x, p1, p2, p3 ) #define IRpcChannelBuffer3_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcChannelBuffer3_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcChannelBuffer3_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcChannelBuffer3_GetBuffer( x, p1, p2 ) \ (x)->lpVtbl->GetBuffer( x, p1, p2 ) #define IRpcChannelBuffer3_SendReceive( x, p1, p2 ) \ (x)->lpVtbl->SendReceive( x, p1, p2 ) #define IRpcChannelBuffer3_FreeBuffer( x, p ) \ (x)->lpVtbl->FreeBuffer( x, p ) #define IRpcChannelBuffer3_GetDestCtx( x, p1, p2 ) \ (x)->lpVtbl->GetDestCtx( x, p1, p2 ) #define IRpcChannelBuffer3_IsConnected( x ) \ (x)->lpVtbl->IsConnected( x ) #define IRpcChannelBuffer3_GetProtocolVersion( x, p ) \ (x)->lpVtbl->GetProtocolVersion( x, p ) #define IRpcChannelBuffer3_Send( x, p1, p2 ) \ (x)->lpVtbl->Send( x, p1, p2 ) #define IRpcChannelBuffer3_Receive( x, p1, p2, p3 ) \ (x)->lpVtbl->Receive( x, p1, p2, p3 ) #define IRpcChannelBuffer3_Cancel( x, p ) \ (x)->lpVtbl->Cancel( x, p ) #define IRpcChannelBuffer3_GetCallContext( x, p1, p2, p3 ) \ (x)->lpVtbl->GetCallContext( x, p1, p2, p3 ) #define IRpcChannelBuffer3_GetDestCtxEx( x, p1, p2, p3 ) \ (x)->lpVtbl->GetDestCtxEx( x, p1, p2, p3 ) #define IRpcChannelBuffer3_GetState( x, p1, p2 ) \ (x)->lpVtbl->GetState( x, p1, p2 ) #define IRpcChannelBuffer3_RegisterAsync( x, p1, p2 ) \ (x)->lpVtbl->RegisterAsync( x, p1, p2 ) #define IRpcSyntaxNegotiate_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcSyntaxNegotiate_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcSyntaxNegotiate_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcSyntaxNegotiate_NegotiateSyntax( x, p ) \ (x)->lpVtbl->NegotiateSyntax( x, p ) #define IRpcProxyBuffer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcProxyBuffer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcProxyBuffer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcProxyBuffer_Connect( x, p ) \ (x)->lpVtbl->Connect( x, p ) #define IRpcProxyBuffer_Disconnect( x ) \ (x)->lpVtbl->Disconnect( x ) #define IRpcStubBuffer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcStubBuffer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcStubBuffer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcStubBuffer_Connect( x, p ) \ (x)->lpVtbl->Connect( x, p ) #define IRpcStubBuffer_Disconnect( x ) \ (x)->lpVtbl->Disconnect( x ) #define IRpcStubBuffer_Invoke( x, p1, p2 ) \ (x)->lpVtbl->Invoke( x, p1, p2 ) #define IRpcStubBuffer_IsIIDSupported( x, p ) \ (x)->lpVtbl->IsIIDSupported( x, p ) #define IRpcStubBuffer_CountRefs( x ) \ (x)->lpVtbl->CountRefs( x ) #define IRpcStubBuffer_DebugServerQueryInterface( x, p ) \ (x)->lpVtbl->DebugServerQueryInterface( x, p ) #define IRpcStubBuffer_DebugServerRelease( x, p ) \ (x)->lpVtbl->DebugServerRelease( x, p ) #define IPSFactoryBuffer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPSFactoryBuffer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPSFactoryBuffer_Release( x ) \ (x)->lpVtbl->Release( x ) #if (_WIN32_WINNT >= 0x0400) #define IChannelHook_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IChannelHook_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IChannelHook_Release( x ) \ (x)->lpVtbl->Release( x ) #define IChannelHook_ClientGetSize( x, p1, p2, p3 ) \ (x)->lpVtbl->ClientGetSize( x, p1, p2, p3 ) #define IChannelHook_ClientFillBuffer( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->ClientFillBuffer( x, p1, p2, p3, p4 ) #define IChannelHook_ClientNotify( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->ClientNotify( x, p1, p2, p3, p4, p5, p6 ) #define IChannelHook_ServerNotify( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->ServerNotify( x, p1, p2, p3, p4, p5 ) #define IChannelHook_ServerGetSize( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->ServerGetSize( x, p1, p2, p3, p4 ) #define IChannelHook_ServerFillBuffer( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->ServerFillBuffer( x, p1, p2, p3, p4, p5 ) #define IClientSecurity_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IClientSecurity_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IClientSecurity_Release( x ) \ (x)->lpVtbl->Release( x ) #define IClientSecurity_QueryBlanket( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->QueryBlanket( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IClientSecurity_SetBlanket( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \ (x)->lpVtbl->SetBlanket( x, p1, p2, p3, p4, p5, p6, p7, p8 ) #define IClientSecurity_CopyProxy( x, p1, p2 ) \ (x)->lpVtbl->CopyProxy( x, p1, p2 ) #define IServerSecurity_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IServerSecurity_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IServerSecurity_Release( x ) \ (x)->lpVtbl->Release( x ) #define IServerSecurity_QueryBlanket( x, p1, p2, p3, p4, p5, p6, p7 ) \ (x)->lpVtbl->QueryBlanket( x, p1, p2, p3, p4, p5, p6, p7 ) #define IServerSecurity_ImpersonateClient( x ) \ (x)->lpVtbl->ImpersonateClient( x ) #define IServerSecurity_RevertToSelf( x ) \ (x)->lpVtbl->RevertToSelf( x ) #define IServerSecurity_IsImpersonating( x ) \ (x)->lpVtbl->IsImpersonating( x ) #define IClassActivator_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IClassActivator_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IClassActivator_Release( x ) \ (x)->lpVtbl->Release( x ) #define IClassActivator_GetClassObject( x, p1, p2, p3, p4, p5 ) \ (x)->lpVtbl->GetClassObject( x, p1, p2, p3, p4, p5 ) #define IRpcOptions_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcOptions_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcOptions_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcOptions_Set( x, p1, p2, p3 ) \ (x)->lpVtbl->Set( x, p1, p2, p3 ) #define IRpcOptions_Query( x, p1, p2, p3 ) \ (x)->lpVtbl->Query( x, p1, p2, p3 ) #define IGlobalOptions_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IGlobalOptions_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IGlobalOptions_Release( x ) \ (x)->lpVtbl->Release( x ) #define IGlobalOptions_Set( x, p1, p2 ) \ (x)->lpVtbl->Set( x, p1, p2 ) #define IGlobalOptions_Query( x, p1, p2 ) \ (x)->lpVtbl->Query( x, p1, p2 ) #endif #define IFillLockBytes_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IFillLockBytes_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IFillLockBytes_Release( x ) \ (x)->lpVtbl->Release( x ) #define IFillLockBytes_FillAppend( x, p1, p2, p3 ) \ (x)->lpVtbl->FillAppend( x, p1, p2, p3 ) #define IFillLockBytes_FillAt( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->FillAt( x, p1, p2, p3, p4 ) #define IFillLockBytes_SetFillSize( x, p ) \ (x)->lpVtbl->SetFillSize( x, p ) #define IFillLockBytes_Terminate( x, p ) \ (x)->lpVtbl->Terminate( x, p ) #define IProgressNotify_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IProgressNotify_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IProgressNotify_Release( x ) \ (x)->lpVtbl->Release( x ) #define IProgressNotify_OnProgress( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->OnProgress( x, p1, p2, p3, p4 ) #define ILayoutStorage_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ILayoutStorage_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ILayoutStorage_Release( x ) \ (x)->lpVtbl->Release( x ) #define ILayoutStorage_LayoutScript( x, p1, p2, p3 ) \ (x)->lpVtbl->LayoutScript( x, p1, p2, p3 ) #define ILayoutStorage_BeginMonitor( x ) \ (x)->lpVtbl->BeginMonitor( x ) #define ILayoutStorage_EndMonitor( x ) \ (x)->lpVtbl->EndMonitor( x ) #define ILayoutStorage_ReLayoutDocfile( x, p ) \ (x)->lpVtbl->ReLayoutDocfile( x, p ) #define ILayoutStorage_ReLayoutDocfileOnILockBytes( x, p ) \ (x)->lpVtbl->ReLayoutDocfileOnILockBytes( x, p ) #define IBlockingLock_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IBlockingLock_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IBlockingLock_Release( x ) \ (x)->lpVtbl->Release( x ) #define IBlockingLock_Lock( x, p ) \ (x)->lpVtbl->Lock( x, p ) #define IBlockingLock_Unlock( x ) \ (x)->lpVtbl->Unlock( x ) #define ITimeAndNoticeControl_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ITimeAndNoticeControl_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ITimeAndNoticeControl_Release( x ) \ (x)->lpVtbl->Release( x ) #define ITimeAndNoticeControl_SuppressChanges( x, p1, p2 ) \ (x)->lpVtbl->SuppressChanges( x, p1, p2 ) #define IOplockStorage_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IOplockStorage_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IOplockStorage_Release( x ) \ (x)->lpVtbl->Release( x ) #define IOplockStorage_CreateStorageEx( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->CreateStorageEx( x, p1, p2, p3, p4, p5, p6 ) #define IOplockStorage_OpenStorageEx( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->OpenStorageEx( x, p1, p2, p3, p4, p5, p6 ) #define ISurrogate_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ISurrogate_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ISurrogate_Release( x ) \ (x)->lpVtbl->Release( x ) #define ISurrogate_LoadDllServer( x, p ) \ (x)->lpVtbl->LoadDllServer( x, p ) #define ISurrogate_FreeSurrogate( x ) \ (x)->lpVtbl->FreeSurrogate( x ) #define IGlobalInterfaceTable_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IGlobalInterfaceTable_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IGlobalInterfaceTable_Release( x ) \ (x)->lpVtbl->Release( x ) #define IGlobalInterfaceTable_RegisterInterfaceInGlobal( x, p1, p2, p3 ) \ (x)->lpVtbl->RegisterInterfaceInGlobal( x, p1, p2, p3 ) #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal( x, p ) \ (x)->lpVtbl->RevokeInterfaceFromGlobal( x, p ) #define IGlobalInterfaceTable_GetInterfaceFromGlobal( x, p1, p2, p3 ) \ (x)->lpVtbl->GetInterfaceFromGlobal( x, p1, p2, p3 ) #define IDirectWriterLock_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDirectWriterLock_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDirectWriterLock_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDirectWriterLock_WaitForWriteAccess( x, p ) \ (x)->lpVtbl->WaitForWriteAccess( x, p ) #define IDirectWriterLock_ReleaseWriteAccess( x ) \ (x)->lpVtbl->ReleaseWriteAccess( x ) #define IDirectWriterLock_HaveWriteAccess( x ) \ (x)->lpVtbl->HaveWriteAccess( x ) #define ISynchronize_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ISynchronize_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ISynchronize_Release( x ) \ (x)->lpVtbl->Release( x ) #define ISynchronize_Wait( x, p1, p2 ) \ (x)->lpVtbl->Wait( x, p1, p2 ) #define ISynchronize_Signal( x ) \ (x)->lpVtbl->Signal( x ) #define ISynchronize_Reset( x ) \ (x)->lpVtbl->Reset( x ) #define ISynchronizeHandle_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ISynchronizeHandle_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ISynchronizeHandle_Release( x ) \ (x)->lpVtbl->Release( x ) #define ISynchronizeHandle_GetHandle( x, p ) \ (x)->lpVtbl->GetHandle( x, p ) #define ISynchronizeEvent_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ISynchronizeEvent_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ISynchronizeEvent_Release( x ) \ (x)->lpVtbl->Release( x ) #define ISynchronizeEvent_GetHandle( x, p ) \ (x)->lpVtbl->GetHandle( x, p ) #define ISynchronizeEvent_SetEventHandle( x, p ) \ (x)->lpVtbl->SetEventHandle( x, p ) #define ISynchronizeContainer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ISynchronizeContainer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ISynchronizeContainer_Release( x ) \ (x)->lpVtbl->Release( x ) #define ISynchronizeContainer_AddSynchronize( x, p ) \ (x)->lpVtbl->AddSynchronize( x, p ) #define ISynchronizeContainer_WaitMultiple( x, p1, p2, p3 ) \ (x)->lpVtbl->WaitMultiple( x, p1, p2, p3 ) #define ISynchronizeMutex_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ISynchronizeMutex_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ISynchronizeMutex_Release( x ) \ (x)->lpVtbl->Release( x ) #define ISynchronizeMutex_ReleaseMutex( x ) \ (x)->lpVtbl->ReleaseMutex( x ) #define ICancelMethodCalls_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ICancelMethodCalls_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ICancelMethodCalls_Release( x ) \ (x)->lpVtbl->Release( x ) #define ICancelMethodCalls_Cancel( x, p ) \ (x)->lpVtbl->Cancel( x, p ) #define ICancelMethodCalls_TestCancel( x ) \ (x)->lpVtbl->TestCancel( x ) #define IAsyncManager_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IAsyncManager_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IAsyncManager_Release( x ) \ (x)->lpVtbl->Release( x ) #define IAsyncManager_CompleteCall( x, p ) \ (x)->lpVtbl->CompleteCall( x, p ) #define IAsyncManager_GetCallContext( x, p1, p2 ) \ (x)->lpVtbl->GetCallContext( x, p1, p2 ) #define IAsyncManager_GetState( x, p ) \ (x)->lpVtbl->GetState( x, p ) #define ICallFactory_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define ICallFactory_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define ICallFactory_Release( x ) \ (x)->lpVtbl->Release( x ) #define ICallFactory_CreateCall( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->CreateCall( x, p1, p2, p3, p4 ) #define IRpcHelper_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IRpcHelper_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IRpcHelper_Release( x ) \ (x)->lpVtbl->Release( x ) #define IRpcHelper_GetDCOMProtocolVersion( x, p ) \ (x)->lpVtbl->GetDCOMProtocolVersion( x, p ) #define IRpcHelper_GetIIDFromOBJREF( x, p1, p2 ) \ (x)->lpVtbl->GetIIDFromOBJREF( x, p1, p2 ) #define IReleaseMarshalBuffers_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IReleaseMarshalBuffers_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IReleaseMarshalBuffers_Release( x ) \ (x)->lpVtbl->Release( x ) #define IReleaseMarshalBuffers_ReleaseMarshalBuffers( x, p1, p2, p3 ) \ (x)->lpVtbl->ReleaseMarshalBuffers( x, p1, p2, p3 ) #define IWaitMultiple_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IWaitMultiple_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IWaitMultiple_Release( x ) \ (x)->lpVtbl->Release( x ) #define IWaitMultiple_WaitMultiple( x, p1, p2 ) \ (x)->lpVtbl->WaitMultiple( x, p1, p2 ) #define IWaitMultiple_AddSynchronize( x, p ) \ (x)->lpVtbl->AddSynchronize( x, p ) #define IUrlMon_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IUrlMon_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IUrlMon_Release( x ) \ (x)->lpVtbl->Release( x ) #define IUrlMon_AsyncGetClassBits( x, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 ) \ (x)->lpVtbl->AsyncGetClassBits( x, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 ) #define IForegroundTransfer_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IForegroundTransfer_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IForegroundTransfer_Release( x ) \ (x)->lpVtbl->Release( x ) #define IForegroundTransfer_AllowForegroundTransfer( x, p ) \ (x)->lpVtbl->AllowForegroundTransfer( x, p ) #define IAddrTrackingControl_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IAddrTrackingControl_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IAddrTrackingControl_Release( x ) \ (x)->lpVtbl->Release( x ) #define IAddrTrackingControl_EnableCOMDynamicAddrTracking( x ) \ (x)->lpVtbl->EnableCOMDynamicAddrTracking( x ) #define IAddrTrackingControl_DisableCOMDynamicAddrTracking( x ) \ (x)->lpVtbl->DisableCOMDynamicAddrTracking( x ) #define IAddrExclusionControl_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IAddrExclusionControl_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IAddrExclusionControl_Release( x ) \ (x)->lpVtbl->Release( x ) #define IAddrExclusionControl_GetCurrentAddrExclusionList( x, p1, p2 ) \ (x)->lpVtbl->GetCurrentAddrExclusionList( x, p1, p2 ) #define IAddrExclusionControl_UpdateAddrExclusionList( x, p ) \ (x)->lpVtbl->UpdateAddrExclusionList( x, p ) #define IPipeByte_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPipeByte_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPipeByte_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPipeByte_Pull( x, p1, p2, p3 ) \ (x)->lpVtbl->Pull( x, p1, p2, p3 ) #define IPipeByte_Push( x, p1, p2 ) \ (x)->lpVtbl->Push( x, p1, p2 ) #define IPipeLong_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPipeLong_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPipeLong_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPipeLong_Pull( x, p1, p2, p3 ) \ (x)->lpVtbl->Pull( x, p1, p2, p3 ) #define IPipeLong_Push( x, p1, p2 ) \ (x)->lpVtbl->Push( x, p1, p2 ) #define IPipeDouble_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IPipeDouble_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IPipeDouble_Release( x ) \ (x)->lpVtbl->Release( x ) #define IPipeDouble_Pull( x, p1, p2, p3 ) \ (x)->lpVtbl->Pull( x, p1, p2, p3 ) #define IPipeDouble_Push( x, p1, p2 ) \ (x)->lpVtbl->Push( x, p1, p2 ) #define IThumbnailExtractor_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IThumbnailExtractor_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IThumbnailExtractor_Release( x ) \ (x)->lpVtbl->Release( x ) #define IThumbnailExtractor_ExtractThumbnail( x, p1, p2, p3, p4, p5, p6 ) \ (x)->lpVtbl->ExtractThumbnail( x, p1, p2, p3, p4, p5, p6 ) #define IThumbnailExtractor_OnFileUpdated( x, p ) \ (x)->lpVtbl->OnFileUpdated( x, p ) #define IDummyHICONIncluder_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDummyHICONIncluder_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDummyHICONIncluder_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDummyHICONIncluder_Dummy( x, p1, p2 ) \ (x)->lpVtbl->Dummy( x, p1, p2 ) #define IProcessLock_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IProcessLock_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IProcessLock_Release( x ) \ (x)->lpVtbl->Release( x ) #define IProcessLock_AddRefOnProcess( x ) \ (x)->lpVtbl->AddRefOnProcess( x ) #define IProcessLock_ReleaseOnProcess( x ) \ (x)->lpVtbl->ReleaseOnProcess( x ) #define IComThreadingInfo_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IComThreadingInfo_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IComThreadingInfo_Release( x ) \ (x)->lpVtbl->Release( x ) #define IComThreadingInfo_GetCurrentApartmentType( x, p ) \ (x)->lpVtbl->GetCurrentApartmentType( x, p ) #define IComThreadingInfo_GetCurrentThreadType( x, p ) \ (x)->lpVtbl->GetCurrentThreadType( x, p ) #define IComThreadingInfo_GetCurrentLogicalThreadId( x, p ) \ (x)->lpVtbl->GetCurrentLogicalThreadId( x, p ) #define IComThreadingInfo_SetCurrentLogicalThreadId( x, p ) \ (x)->lpVtbl->SetCurrentLogicalThreadId( x, p ) #define IProcessInitControl_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IProcessInitControl_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IProcessInitControl_Release( x ) \ (x)->lpVtbl->Release( x ) #define IProcessInitControl_ResetInitializerTimeout( x, p ) \ (x)->lpVtbl->ResetInitializerTimeout( x, p ) #if (_WIN32_WINNT >= 0x0501) #define IInitializeSpy_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IInitializeSpy_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IInitializeSpy_Release( x ) \ (x)->lpVtbl->Release( x ) #define IInitializeSpy_PreInitialize( x, p1, p2 ) \ (x)->lpVtbl->PreInitialize( x, p1, p2 ) #define IInitializeSpy_PostInitialize( x, p1, p2, p3 ) \ (x)->lpVtbl->PostInitialize( x, p1, p2, p3 ) #define IInitializeSpy_PreUninitialize( x, p ) \ (x)->lpVtbl->PreUninitialize( x, p ) #define IInitializeSpy_PostUninitialize( x, p ) \ (x)->lpVtbl->PostUninitialize( x, p ) #endif #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __objidl_h__ */