Wrote a new objidl.idl to replace a number of include/wine/obj_*.h
files.
This commit is contained in:
parent
55b2bf1d89
commit
9a580d9ad9
|
@ -5,6 +5,7 @@ VPATH = @srcdir@
|
|||
MODULE = none
|
||||
|
||||
IDL_SRCS = \
|
||||
objidl.idl \
|
||||
unknwn.idl \
|
||||
wtypes.idl
|
||||
|
||||
|
@ -89,7 +90,6 @@ WINDOWS_INCLUDES = \
|
|||
ntstatus.h \
|
||||
oaidl.h \
|
||||
objbase.h \
|
||||
objidl.h \
|
||||
ocidl.h \
|
||||
ole2.h \
|
||||
ole2ver.h \
|
||||
|
@ -205,14 +205,11 @@ WINE_INCLUDES = \
|
|||
library.h \
|
||||
obj_base.h \
|
||||
obj_cache.h \
|
||||
obj_channel.h \
|
||||
obj_clientserver.h \
|
||||
obj_comcat.h \
|
||||
obj_commdlgbrowser.h \
|
||||
obj_connection.h \
|
||||
obj_contextmenu.h \
|
||||
obj_control.h \
|
||||
obj_dataobject.h \
|
||||
obj_dockingwindowframe.h \
|
||||
obj_dragdrop.h \
|
||||
obj_dragdrophelper.h \
|
||||
|
@ -221,9 +218,6 @@ WINE_INCLUDES = \
|
|||
obj_errorinfo.h \
|
||||
obj_extracticon.h \
|
||||
obj_inplace.h \
|
||||
obj_marshal.h \
|
||||
obj_misc.h \
|
||||
obj_moniker.h \
|
||||
obj_oleaut.h \
|
||||
obj_olefont.h \
|
||||
obj_oleobj.h \
|
||||
|
@ -231,14 +225,12 @@ WINE_INCLUDES = \
|
|||
obj_oleview.h \
|
||||
obj_picture.h \
|
||||
obj_property.h \
|
||||
obj_propertystorage.h \
|
||||
obj_serviceprovider.h \
|
||||
obj_shellbrowser.h \
|
||||
obj_shellextinit.h \
|
||||
obj_shellfolder.h \
|
||||
obj_shelllink.h \
|
||||
obj_shellview.h \
|
||||
obj_storage.h \
|
||||
obj_webbrowser.h \
|
||||
unicode.h
|
||||
|
||||
|
|
8998
include/objidl.h
8998
include/objidl.h
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,201 +0,0 @@
|
|||
/*
|
||||
* Defines undocumented Microsoft COM interfaces and APIs seemingly
|
||||
* related to some 'channel' notion.
|
||||
*
|
||||
* Copyright (C) 1999 Francois Gouget
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_CHANNEL_H
|
||||
#define __WINE_WINE_OBJ_CHANNEL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_GUID (IID_IChannelHook, 0x1008c4a0L, 0x7613, 0x11cf, 0x9a, 0xf1, 0x00, 0x20, 0xaf, 0x6e, 0x72, 0xf4);
|
||||
typedef struct IChannelHook IChannelHook,*LPCHANNELHOOK;
|
||||
|
||||
DEFINE_GUID (IID_IPSFactoryBuffer, 0xd5f569d0L, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a);
|
||||
typedef struct IPSFactoryBuffer IPSFactoryBuffer,*LPPSFACTORYBUFFER;
|
||||
|
||||
DEFINE_GUID (IID_IRpcChannelBuffer, 0xd5f56b60L, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a);
|
||||
typedef struct IRpcChannelBuffer IRpcChannelBuffer,*LPRPCCHANNELBUFFER;
|
||||
|
||||
DEFINE_GUID (IID_IRpcProxyBuffer, 0xd5f56a34L, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a);
|
||||
typedef struct IRpcProxyBuffer IRpcProxyBuffer,*LPRPCPROXYBUFFER;
|
||||
|
||||
DEFINE_GUID (IID_IRpcStubBuffer, 0xd5f56afcL, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a);
|
||||
typedef struct IRpcStubBuffer IRpcStubBuffer,*LPRPCSTUBBUFFER;
|
||||
|
||||
|
||||
DEFINE_GUID (CLSID_PSFactoryBuffer, 0x00000320L, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IChannelHook interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IChannelHook
|
||||
#define IChannelHook_METHODS \
|
||||
ICOM_VMETHOD3(ClientGetSize, REFGUID,uExtent, REFIID,riid, ULONG*,pDataSize) \
|
||||
ICOM_VMETHOD4(ClientFillBuffer, REFGUID,uExtent, REFIID,riid, ULONG*,pDataSize, void*,pDataBuffer) \
|
||||
ICOM_VMETHOD6(ClientNotify, REFGUID,uExtent, REFIID,riid, ULONG,cbDataSize, void*,pDataBuffer, DWORD,lDataRep, HRESULT,hrFault) \
|
||||
ICOM_VMETHOD5(ServerNotify, REFGUID,uExtent, REFIID,riid, ULONG,cbDataSize, void*,pDataBuffer, DWORD,lDataRep) \
|
||||
ICOM_VMETHOD4(ServerGetSize, REFGUID,uExtent, REFIID,riid, HRESULT,hrFault, ULONG*,pDataSize) \
|
||||
ICOM_VMETHOD5(ServerFillBuffer, REFGUID,uExtent, REFIID,riid, ULONG*,pDataSize, void*,pDataBuffer, HRESULT,hrFault)
|
||||
#define IChannelHook_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IChannelHook_METHODS
|
||||
ICOM_DEFINE(IChannelHook,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IChannelHook_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IChannelHook_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IChannelHook_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IChannelHook methods ***/
|
||||
#define IChannelHook_ClientGetSize(p,a,b,c) ICOM_CALL(ClientGetSize,p,a,b,c)
|
||||
#define IChannelHook_ClientFillBuffer(p,a,b,c,d) ICOM_CALL(ClientFillBuffer,p,a,b,c,d)
|
||||
#define IChannelHook_ClientNotify(p,a,b,c,d,e,f) ICOM_CALL(ClientNotify,p,a,b,c,d,e,f)
|
||||
#define IChannelHook_ServerNotify(p,a,b,c,d,e) ICOM_CALL(ServerNotify,p,a,b,c,d,e)
|
||||
#define IChannelHook_ServerGetSize(p,a,b,c,d) ICOM_CALL(ServerGetSize,p,a,b,c,d)
|
||||
#define IChannelHook_ServerFillBuffer(p,a,b,c,d,e) ICOM_CALL(ServerFillBuffer,p,a,b,c,d,e)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IPSFactoryBuffer interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IPSFactoryBuffer
|
||||
#define IPSFactoryBuffer_METHODS \
|
||||
ICOM_METHOD4(HRESULT,CreateProxy, IUnknown*,pUnkOuter, REFIID,riid, IRpcProxyBuffer**,ppProxy, void**,ppv) \
|
||||
ICOM_METHOD3(HRESULT,CreateStub, REFIID,riid, IUnknown*,pUnkServer, IRpcStubBuffer**,ppStub)
|
||||
#define IPSFactoryBuffer_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IPSFactoryBuffer_METHODS
|
||||
ICOM_DEFINE(IPSFactoryBuffer,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IPSFactoryBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IPSFactoryBuffer_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IPSFactoryBuffer_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IPSFactoryBuffer methods ***/
|
||||
#define IPSFactoryBuffer_CreateProxy(p,a,b,c,d) ICOM_CALL4(CreateProxy,p,a,b,c,d)
|
||||
#define IPSFactoryBuffer_CreateStub(p,a,b,c) ICOM_CALL3(CreateStub,p,a,b,c)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IRpcChannelBuffer interface
|
||||
*/
|
||||
typedef unsigned long RPCOLEDATAREP;
|
||||
|
||||
typedef struct tagRPCOLEMESSAGE
|
||||
{
|
||||
void* reserved1;
|
||||
RPCOLEDATAREP dataRepresentation;
|
||||
void* Buffer;
|
||||
ULONG cbBuffer;
|
||||
ULONG iMethod;
|
||||
void* reserved2[5];
|
||||
ULONG rpcFlags;
|
||||
} RPCOLEMESSAGE, *PRPCOLEMESSAGE;
|
||||
|
||||
#define ICOM_INTERFACE IRpcChannelBuffer
|
||||
#define IRpcChannelBuffer_METHODS \
|
||||
ICOM_METHOD2(HRESULT,GetBuffer, RPCOLEMESSAGE*,pMessage, REFIID,riid) \
|
||||
ICOM_METHOD2(HRESULT,SendReceive, RPCOLEMESSAGE*,pMessage, ULONG*,pStatus) \
|
||||
ICOM_METHOD1(HRESULT,FreeBuffer, RPCOLEMESSAGE*,pMessage) \
|
||||
ICOM_METHOD2(HRESULT,GetDestCtx, DWORD*,pdwDestContext, void**,ppvDestContext) \
|
||||
ICOM_METHOD (HRESULT,IsConnected)
|
||||
#define IRpcChannelBuffer_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IRpcChannelBuffer_METHODS
|
||||
ICOM_DEFINE(IRpcChannelBuffer,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IRpcChannelBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IRpcChannelBuffer_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IRpcChannelBuffer_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IRpcChannelBuffer methods ***/
|
||||
#define IRpcChannelBuffer_GetBuffer(p,a,b) ICOM_CALL2(GetBuffer,p,a,b)
|
||||
#define IRpcChannelBuffer_SendReceive(p,a,b) ICOM_CALL2(SendReceive,p,a,b)
|
||||
#define IRpcChannelBuffer_FreeBuffer(p,a) ICOM_CALL1(FreeBuffer,p,a)
|
||||
#define IRpcChannelBuffer_GetDestCtx(p,a,b) ICOM_CALL2(GetDestCtx,p,a,b)
|
||||
#define IRpcChannelBuffer_IsConnected(p) ICOM_CALL (IsConnected,p)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IRpcProxyBuffer interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IRpcProxyBuffer
|
||||
#define IRpcProxyBuffer_METHODS \
|
||||
ICOM_METHOD1(HRESULT,Connect, IRpcChannelBuffer*,pRpcChannelBuffer) \
|
||||
ICOM_VMETHOD( Disconnect)
|
||||
#define IRpcProxyBuffer_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IRpcProxyBuffer_METHODS
|
||||
ICOM_DEFINE(IRpcProxyBuffer,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IRpcProxyBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IRpcProxyBuffer_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IRpcProxyBuffer_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IRpcProxyBuffer methods ***/
|
||||
#define IRpcProxyBuffer_Connect(p,a) ICOM_CALL1(Connect,p,a)
|
||||
#define IRpcProxyBuffer_Disconnect(p) ICOM_CALL (Disconnect,p)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IRpcStubBuffer interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IRpcStubBuffer
|
||||
#define IRpcStubBuffer_METHODS \
|
||||
ICOM_METHOD1 (HRESULT, Connect, IUnknown*,pUnkServer) \
|
||||
ICOM_VMETHOD ( Disconnect) \
|
||||
ICOM_METHOD2 (HRESULT, Invoke, RPCOLEMESSAGE*,_prpcmsg, IRpcChannelBuffer*,_pRpcChannelBuffer) \
|
||||
ICOM_METHOD1 (LPRPCSTUBBUFFER,IsIIDSupported, REFIID,riid) \
|
||||
ICOM_METHOD (ULONG, CountRefs) \
|
||||
ICOM_METHOD1 (HRESULT, DebugServerQueryInterface, void**,ppv) \
|
||||
ICOM_VMETHOD1( DebugServerRelease, void*,pv)
|
||||
#define IRpcStubBuffer_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IRpcStubBuffer_METHODS
|
||||
ICOM_DEFINE(IRpcStubBuffer,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IRpcStubBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IRpcStubBuffer_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IRpcStubBuffer_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IRpcStubBuffer methods ***/
|
||||
#define IRpcStubBuffer_Connect(p,a) ICOM_CALL1(Connect,p,a)
|
||||
#define IRpcStubBuffer_Disconnect(p) ICOM_CALL (Disconnect,p)
|
||||
#define IRpcStubBuffer_Invoke(p,a,b) ICOM_CALL2(Invoke,p,a,b)
|
||||
#define IRpcStubBuffer_IsIIDSupported(p,a) ICOM_CALL1(IsIIDSupported,p,a)
|
||||
#define IRpcStubBuffer_CountRefs(p) ICOM_CALL (CountRefs,p)
|
||||
#define IRpcStubBuffer_DebugServerQueryInterface(p,a) ICOM_CALL1(DebugServerQueryInterface,p,a)
|
||||
#define IRpcStubBuffer_DebugServerRelease(p,a) ICOM_CALL1(DebugServerRelease,p,a)
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_CHANNEL_H */
|
|
@ -1,210 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs related to client/server aspects.
|
||||
*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_CLIENTSERVER_H
|
||||
#define __WINE_WINE_OBJ_CLIENTSERVER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IClientSecurity, 0x0000013dL, 0, 0);
|
||||
typedef struct IClientSecurity IClientSecurity,*LPCLIENTSECURITY;
|
||||
|
||||
DEFINE_OLEGUID(IID_IExternalConnection, 0x00000019L, 0, 0);
|
||||
typedef struct IExternalConnection IExternalConnection,*LPEXTERNALCONNECTION;
|
||||
|
||||
DEFINE_OLEGUID(IID_IMessageFilter, 0x00000016L, 0, 0);
|
||||
typedef struct IMessageFilter IMessageFilter,*LPMESSAGEFILTER;
|
||||
|
||||
DEFINE_OLEGUID(IID_IServerSecurity, 0x0000013eL, 0, 0);
|
||||
typedef struct IServerSecurity IServerSecurity,*LPSERVERSECURITY;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IClientSecurity interface
|
||||
*/
|
||||
typedef struct tagSOLE_AUTHENTICATION_SERVICE
|
||||
{
|
||||
DWORD dwAuthnSvc;
|
||||
DWORD dwAuthzSvc;
|
||||
OLECHAR* pPrincipalName;
|
||||
HRESULT hr;
|
||||
} SOLE_AUTHENTICATION_SERVICE, *PSOLE_AUTHENTICATION_SERVICE;
|
||||
|
||||
typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
|
||||
{
|
||||
EOAC_NONE = 0x0,
|
||||
EOAC_MUTUAL_AUTH = 0x1,
|
||||
EOAC_SECURE_REFS = 0x2,
|
||||
EOAC_ACCESS_CONTROL = 0x4
|
||||
} EOLE_AUTHENTICATION_CAPABILITIES;
|
||||
|
||||
#define ICOM_INTERFACE IClientSecurity
|
||||
#define IClientSecurity_METHODS \
|
||||
ICOM_METHOD8(HRESULT,QueryBlanket, IUnknown*,pProxy, DWORD*,pAuthnSvc, DWORD*,pAuthzSvc, OLECHAR**,pServerPrincName, DWORD*,pAuthnLevel, DWORD*,pImpLevel, void**,pAuthInfo, DWORD*,pCapabilites) \
|
||||
ICOM_METHOD8(HRESULT,SetBlanket, IUnknown*,pProxy, DWORD,pAuthnSvc, DWORD,pAuthzSvc, OLECHAR*,pServerPrincName, DWORD,pAuthnLevel, DWORD,pImpLevel, void*,pAuthInfo, DWORD,pCapabilites) \
|
||||
ICOM_METHOD2(HRESULT,CopyProxy, IUnknown*,pProxy, IUnknown**,ppCopy)
|
||||
#define IClientSecurity_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IClientSecurity_METHODS
|
||||
ICOM_DEFINE(IClientSecurity,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IClientSecurity_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IClientSecurity_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IClientSecurity_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IClientSecurity methods ***/
|
||||
#define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) ICOM_CALL8(QueryBlanket,p,a,b,c,d,e,f,g,h)
|
||||
#define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) ICOM_CALL8(SetBlanket,p,a,b,c,d,e,f,g,h)
|
||||
#define IClientSecurity_CopyProxy(p,a,b) ICOM_CALL2(CopyProxy,p,a,b)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IExternalConnection interface
|
||||
*/
|
||||
typedef enum tagEXTCONN
|
||||
{
|
||||
EXTCONN_STRONG = 0x1,
|
||||
EXTCONN_WEAK = 0x2,
|
||||
EXTCONN_CALLABLE = 0x4
|
||||
} EXTCONN;
|
||||
|
||||
#define ICOM_INTERFACE IExternalConnection
|
||||
#define IExternalConnection_METHODS \
|
||||
ICOM_METHOD2(DWORD,AddConnection, DWORD,extconn, DWORD,reserved) \
|
||||
ICOM_METHOD3(DWORD,ReleaseConnection, DWORD,extconn, DWORD,reserved, BOOL,fLastReleaseCloses)
|
||||
#define IExternalConnection_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IExternalConnection_METHODS
|
||||
ICOM_DEFINE(IExternalConnection,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IExternalConnection_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IExternalConnection_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IExternalConnection_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IExternalConnection methods ***/
|
||||
#define IExternalConnection_AddConnection(p,a,b) ICOM_CALL8(AddConnection,p,a,b)
|
||||
#define IExternalConnection_ReleaseConnection(p,a,b,c) ICOM_CALL8(ReleaseConnection,p,a,b,c)
|
||||
|
||||
|
||||
HRESULT WINAPI CoDisconnectObject(LPUNKNOWN lpUnk, DWORD reserved);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IMessageFilter interface
|
||||
*/
|
||||
typedef enum tagCALLTYPE
|
||||
{
|
||||
CALLTYPE_TOPLEVEL = 1,
|
||||
CALLTYPE_NESTED = 2,
|
||||
CALLTYPE_ASYNC = 3,
|
||||
CALLTYPE_TOPLEVEL_CALLPENDING = 4,
|
||||
CALLTYPE_ASYNC_CALLPENDING = 5
|
||||
} CALLTYPE;
|
||||
|
||||
typedef enum tagSERVERCALL
|
||||
{
|
||||
SERVERCALL_ISHANDLED = 0,
|
||||
SERVERCALL_REJECTED = 1,
|
||||
SERVERCALL_RETRYLATER = 2
|
||||
} SERVERCALL;
|
||||
|
||||
typedef enum tagPENDINGTYPE
|
||||
{
|
||||
PENDINGTYPE_TOPLEVEL = 1,
|
||||
PENDINGTYPE_NESTED = 2
|
||||
} PENDINGTYPE;
|
||||
|
||||
typedef enum tagPENDINGMSG
|
||||
{
|
||||
PENDINGMSG_CANCELCALL = 0,
|
||||
PENDINGMSG_WAITNOPROCESS = 1,
|
||||
PENDINGMSG_WAITDEFPROCESS = 2
|
||||
} PENDINGMSG;
|
||||
|
||||
typedef struct tagINTERFACEINFO
|
||||
{
|
||||
IUnknown* pUnk;
|
||||
IID iid;
|
||||
WORD wMethod;
|
||||
} INTERFACEINFO,*LPINTERFACEINFO;
|
||||
|
||||
#define ICOM_INTERFACE IMessageFilter
|
||||
#define IMessageFilter_METHODS \
|
||||
ICOM_METHOD4(DWORD,HandleInComingCall, DWORD,dwCallType, HTASK,htaskCaller, DWORD,dwTickCount, LPINTERFACEINFO,lpInterfaceInfo) \
|
||||
ICOM_METHOD3(DWORD,RetryRejectedCall, HTASK,htaskCallee, DWORD,dwTickCount, DWORD,dwRejectType) \
|
||||
ICOM_METHOD3(DWORD,MessagePending, HTASK,htaskCallee, DWORD,dwTickCount, DWORD,dwRejectType)
|
||||
#define IMessageFilter_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IMessageFilter_METHODS
|
||||
ICOM_DEFINE(IMessageFilter,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IMessageFilter_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IMessageFilter_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IMessageFilter_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IMessageFilter methods ***/
|
||||
#define IMessageFilter_HandleInComingCall(p,a,b,c,d) ICOM_CALL4(HandleInComingCall,p,a,b,c,d)
|
||||
#define IMessageFilter_RetryRejectedCall(p,a,b,c) ICOM_CALL3(RetryRejectedCall,p,a,b,c)
|
||||
#define IMessageFilter_MessagePending(p,a,b,c) ICOM_CALL3(MessagePending,p,a,b,c)
|
||||
|
||||
|
||||
HRESULT WINAPI CoRegisterMessageFilter16(LPMESSAGEFILTER lpMessageFilter,LPMESSAGEFILTER *lplpMessageFilter);
|
||||
HRESULT WINAPI CoRegisterMessageFilter(LPMESSAGEFILTER lpMessageFilter,LPMESSAGEFILTER *lplpMessageFilter);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IServerSecurity interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IServerSecurity
|
||||
#define IServerSecurity_METHODS \
|
||||
ICOM_METHOD7(HRESULT,QueryBlanket, DWORD*,pAuthnSvc, DWORD*,pAuthzSvc, OLECHAR**,pServerPrincName, DWORD*,pAuthnLevel, DWORD*,pImpLevel, void**,pPrivs, DWORD*,pCapabilities) \
|
||||
ICOM_METHOD (HRESULT,ImpersonateClient) \
|
||||
ICOM_METHOD (HRESULT,RevertToSelf) \
|
||||
ICOM_METHOD (BOOL, IsImpersonating)
|
||||
#define IServerSecurity_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IServerSecurity_METHODS
|
||||
ICOM_DEFINE(IServerSecurity,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IServerSecurity_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IServerSecurity_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IServerSecurity_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IServerSecurity methods ***/
|
||||
#define IServerSecurity_QueryBlanket(p,a,b,c,d,e,f,g) ICOM_CALL7(QueryBlanket,p,a,b,c,d,e,f,g)
|
||||
#define IServerSecurity_ImpersonateClient(p) ICOM_CALL (ImpersonateClient,p)
|
||||
#define IServerSecurity_RevertToSelf(p) ICOM_CALL (RevertToSelf,p)
|
||||
#define IServerSecurity_IsImpersonating(p) ICOM_CALL (IsImpersonating,p)
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_CLIENTSERVER_H */
|
|
@ -1,328 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs related to IDataObject.
|
||||
*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_DATAOBJECT_H
|
||||
#define __WINE_WINE_OBJ_DATAOBJECT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the structures
|
||||
*/
|
||||
typedef enum tagDATADIR
|
||||
{
|
||||
DATADIR_GET = 1,
|
||||
DATADIR_SET = 2
|
||||
} DATADIR;
|
||||
|
||||
typedef struct DVTARGETDEVICE16 DVTARGETDEVICE16, *LPDVTARGETDEVICE16;
|
||||
typedef struct DVTARGETDEVICE DVTARGETDEVICE, *LPDVTARGETDEVICE;
|
||||
|
||||
typedef struct FORMATETC16 FORMATETC16, *LPFORMATETC16;
|
||||
typedef struct FORMATETC FORMATETC, *LPFORMATETC;
|
||||
|
||||
typedef struct STGMEDIUM STGMEDIUM, *LPSTGMEDIUM;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IAdviseSink, 0x0000010fL, 0, 0);
|
||||
typedef struct IAdviseSink IAdviseSink,*LPADVISESINK;
|
||||
|
||||
DEFINE_OLEGUID(IID_IAdviseSink2, 0x00000125L, 0, 0);
|
||||
typedef struct IAdviseSink2 IAdviseSink2,*LPADVISESINK2;
|
||||
|
||||
DEFINE_OLEGUID(IID_IDataAdviseHolder, 0x00000110L, 0, 0);
|
||||
typedef struct IDataAdviseHolder IDataAdviseHolder,*LPDATAADVISEHOLDER;
|
||||
|
||||
DEFINE_OLEGUID(IID_IDataObject, 0x0000010EL, 0, 0);
|
||||
typedef struct IDataObject IDataObject,*LPDATAOBJECT;
|
||||
|
||||
DEFINE_OLEGUID(IID_IEnumFORMATETC, 0x00000103L, 0, 0);
|
||||
typedef struct IEnumFORMATETC IEnumFORMATETC,*LPENUMFORMATETC;
|
||||
|
||||
DEFINE_OLEGUID(IID_IEnumSTATDATA, 0x00000105L, 0, 0);
|
||||
typedef struct IEnumSTATDATA IEnumSTATDATA,*LPENUMSTATDATA;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* DVTARGETDEVICE structure
|
||||
*/
|
||||
struct DVTARGETDEVICE
|
||||
{
|
||||
DWORD tdSize;
|
||||
WORD tdDriverNameOffset;
|
||||
WORD tdDeviceNameOffset;
|
||||
WORD tdPortNameOffset;
|
||||
WORD tdExtDevmodeOffset;
|
||||
BYTE tdData[1];
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* FORMATETC structure
|
||||
*/
|
||||
/* wished data format */
|
||||
struct FORMATETC
|
||||
{
|
||||
CLIPFORMAT cfFormat;
|
||||
DVTARGETDEVICE* ptd;
|
||||
DWORD dwAspect;
|
||||
LONG lindex;
|
||||
DWORD tymed;
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* STGMEDIUM structure
|
||||
*/
|
||||
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;
|
||||
|
||||
typedef struct tagRemSTGMEDIUM
|
||||
{
|
||||
DWORD tymed;
|
||||
DWORD dwHandleType;
|
||||
unsigned long pData;
|
||||
unsigned long pUnkForRelease;
|
||||
unsigned long cbData;
|
||||
byte data[1];
|
||||
} RemSTGMEDIUM;
|
||||
|
||||
/* dataobject as answer to a request */
|
||||
struct STGMEDIUM
|
||||
{
|
||||
DWORD tymed;
|
||||
union {
|
||||
HBITMAP hBitmap;
|
||||
HMETAFILEPICT hMetaFilePict;
|
||||
HENHMETAFILE hEnhMetaFile;
|
||||
HGLOBAL hGlobal;
|
||||
LPOLESTR lpszFileName;
|
||||
IStream *pstm;
|
||||
IStorage *pstg;
|
||||
} DUMMYUNIONNAME;
|
||||
IUnknown *pUnkForRelease;
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
typedef struct tagSTATDATA
|
||||
{
|
||||
FORMATETC formatetc;
|
||||
DWORD advf;
|
||||
IAdviseSink *pAdvSink;
|
||||
DWORD dwConnection;
|
||||
} STATDATA, *LPSTATDATA;
|
||||
|
||||
/*****************************************************************************
|
||||
* IAdviseSink interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IAdviseSink
|
||||
#define IAdviseSink_METHODS \
|
||||
ICOM_VMETHOD2(OnDataChange, FORMATETC*,pFormatetc, STGMEDIUM*,pStgmed) \
|
||||
ICOM_VMETHOD2(OnViewChange, DWORD,dwAspect, LONG,lindex) \
|
||||
ICOM_VMETHOD1(OnRename, IMoniker*,pmk) \
|
||||
ICOM_VMETHOD (OnSave) \
|
||||
ICOM_VMETHOD (OnClose)
|
||||
#define IAdviseSink_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IAdviseSink_METHODS
|
||||
ICOM_DEFINE(IAdviseSink,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IAdviseSink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IAdviseSink_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IAdviseSink_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IAdviseSink methods ***/
|
||||
#define IAdviseSink_OnDataChange(p,a,b) ICOM_CALL2(OnDataChange,p,a,b)
|
||||
#define IAdviseSink_OnViewChange(p,a,b) ICOM_CALL2(OnViewChange,p,a,b)
|
||||
#define IAdviseSink_OnRename(p,a) ICOM_CALL1(OnRename,p,a)
|
||||
#define IAdviseSink_OnSave(p) ICOM_CALL (OnSave,p)
|
||||
#define IAdviseSink_OnClose(p) ICOM_CALL (OnClose,p)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IAdviseSink2 interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IAdviseSink2
|
||||
#define IAdviseSink2_METHODS \
|
||||
ICOM_VMETHOD1(OnLinkSrcChange, IMoniker*,pmk)
|
||||
#define IAdviseSink2_IMETHODS \
|
||||
IAdviseSink_IMETHODS \
|
||||
IAdviseSink2_METHODS
|
||||
ICOM_DEFINE(IAdviseSink2,IAdviseSink)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IAdviseSink2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IAdviseSink2_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IAdviseSink2_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IAdviseSink methods ***/
|
||||
#define IAdviseSink2_OnDataChange(p,a,b) ICOM_CALL2(IAdviseSink,OnDataChange,p,a,b)
|
||||
#define IAdviseSink2_OnViewChange(p,a,b) ICOM_CALL2(IAdviseSink,OnViewChange,p,a,b)
|
||||
#define IAdviseSink2_OnRename(p,a) ICOM_CALL1(IAdviseSink,OnRename,p,a)
|
||||
#define IAdviseSink2_OnSave(p) ICOM_CALL (IAdviseSink,OnSave,p)
|
||||
#define IAdviseSink2_OnClose(p) ICOM_CALL (IAdviseSink,OnClose,p)
|
||||
/*** IAdviseSink2 methods ***/
|
||||
#define IAdviseSink2_OnLinkSrcChange(p,a) ICOM_CALL(OnLinkSrcChange,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IDataAdviseHolder interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IDataAdviseHolder
|
||||
#define IDataAdviseHolder_METHODS \
|
||||
ICOM_METHOD5(HRESULT,Advise, IDataObject*,pDataObject, FORMATETC*,pFetc, DWORD,advf, IAdviseSink*,pAdvise, DWORD*,pdwConnection) \
|
||||
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection) \
|
||||
ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise) \
|
||||
ICOM_METHOD3(HRESULT,SendOnDataChange, IDataObject*,pDataObject, DWORD,dwReserved, DWORD,advf)
|
||||
#define IDataAdviseHolder_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IDataAdviseHolder_METHODS
|
||||
ICOM_DEFINE(IDataAdviseHolder,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IDataAdviseHolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IDataAdviseHolder_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IDataAdviseHolder_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IDataAdviseHolder methods ***/
|
||||
#define IDataAdviseHolder_Advise(p,a,b,c,d,e) ICOM_CALL5(Advise,p,a,b,c,d,e)
|
||||
#define IDataAdviseHolder_Unadvise(p,a) ICOM_CALL1(Unadvise,p,a)
|
||||
#define IDataAdviseHolder_EnumAdvise(p,a) ICOM_CALL1(EnumAdvise,p,a)
|
||||
#define IDataAdviseHolder_SendOnDataChange(p,a,b,c) ICOM_CALL3(SendOnDataChange,p,a,b,c)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IDataObject interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IDataObject
|
||||
#define IDataObject_METHODS \
|
||||
ICOM_METHOD2(HRESULT,GetData, LPFORMATETC,pformatetcIn, STGMEDIUM*,pmedium) \
|
||||
ICOM_METHOD2(HRESULT,GetDataHere, LPFORMATETC,pformatetc, STGMEDIUM*,pmedium) \
|
||||
ICOM_METHOD1(HRESULT,QueryGetData, LPFORMATETC,pformatetc) \
|
||||
ICOM_METHOD2(HRESULT,GetCanonicalFormatEtc, LPFORMATETC,pformatectIn, LPFORMATETC,pformatetcOut) \
|
||||
ICOM_METHOD3(HRESULT,SetData, LPFORMATETC,pformatetc, STGMEDIUM*,pmedium, BOOL,fRelease) \
|
||||
ICOM_METHOD2(HRESULT,EnumFormatEtc, DWORD,dwDirection, IEnumFORMATETC**,ppenumFormatEtc) \
|
||||
ICOM_METHOD4(HRESULT,DAdvise, FORMATETC*,pformatetc, DWORD,advf, IAdviseSink*,pAdvSink, DWORD*,pdwConnection) \
|
||||
ICOM_METHOD1(HRESULT,DUnadvise, DWORD,dwConnection) \
|
||||
ICOM_METHOD1(HRESULT,EnumDAdvise, IEnumSTATDATA**,ppenumAdvise)
|
||||
#define IDataObject_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IDataObject_METHODS
|
||||
ICOM_DEFINE(IDataObject,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IDataObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IDataObject_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IDataObject_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IDataObject methods ***/
|
||||
#define IDataObject_GetData(p,a,b) ICOM_CALL2(GetData,p,a,b)
|
||||
#define IDataObject_GetDataHere(p,a,b) ICOM_CALL2(GetDataHere,p,a,b)
|
||||
#define IDataObject_QueryGetData(p,a) ICOM_CALL1(QueryGetData,p,a)
|
||||
#define IDataObject_GetCanonicalFormatEtc(p,a,b) ICOM_CALL2(GetCanonicalFormatEtc,p,a,b)
|
||||
#define IDataObject_SetData(p,a,b,c) ICOM_CALL3(SetData,p,a,b,c)
|
||||
#define IDataObject_EnumFormatEtc(p,a,b) ICOM_CALL2(EnumFormatEtc,p,a,b)
|
||||
#define IDataObject_DAdvise(p,a,b,c,d) ICOM_CALL4(DAdvise,p,a,b,c,d)
|
||||
#define IDataObject_DUnadvise(p,a) ICOM_CALL1(DUnadvise,p,a)
|
||||
#define IDataObject_EnumDAdvise(p,a) ICOM_CALL1(EnumDAdvise,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumFORMATETC interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumFORMATETC
|
||||
#define IEnumFORMATETC_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, FORMATETC*,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumFORMATETC**,ppenum)
|
||||
#define IEnumFORMATETC_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumFORMATETC_METHODS
|
||||
ICOM_DEFINE(IEnumFORMATETC,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumFORMATETC_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumFORMATETC_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumFORMATETC_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumFORMATETC methods ***/
|
||||
#define IEnumFORMATETC_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumFORMATETC_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumFORMATETC_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumFORMATETC_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumSTATDATA interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumSTATDATA
|
||||
#define IEnumSTATDATA_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATDATA*,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumSTATDATA**,ppenum)
|
||||
#define IEnumSTATDATA_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumSTATDATA_METHODS
|
||||
ICOM_DEFINE(IEnumSTATDATA,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumSTATDATA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumSTATDATA_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumSTATDATA_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumSTATDATA methods ***/
|
||||
#define IEnumSTATDATA_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumSTATDATA_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumSTATDATA_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumSTATDATA_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_DATAOBJECT_H */
|
|
@ -1,95 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs that allow an interface to
|
||||
* specify a custom marshaling for its objects.
|
||||
*
|
||||
* Copyright (C) 1999 Francois Gouget
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_MARSHAL_H
|
||||
#define __WINE_WINE_OBJ_MARSHAL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IMarshal, 0x00000003L, 0, 0);
|
||||
typedef struct IMarshal IMarshal,*LPMARSHAL;
|
||||
|
||||
DEFINE_OLEGUID(IID_IStdMarshalInfo, 0x00000018L, 0, 0);
|
||||
typedef struct IStdMarshalInfo IStdMarshalInfo,*LPSTDMARSHALINFO;
|
||||
|
||||
DEFINE_OLEGUID(CLSID_DfMarshal, 0x0000030BL, 0, 0);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IMarshal interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IMarshal
|
||||
#define IMarshal_METHODS \
|
||||
ICOM_METHOD6(HRESULT,GetUnmarshalClass, REFIID,riid, void*,pv, DWORD,dwDestContext, void*,pvDestContext, DWORD,mshlflags, CLSID*,pCid) \
|
||||
ICOM_METHOD6(HRESULT,GetMarshalSizeMax, REFIID,riid, void*,pv, DWORD,dwDestContext, void*,pvDestContext, DWORD,mshlflags, DWORD*,pSize) \
|
||||
ICOM_METHOD6(HRESULT,MarshalInterface, IStream*,pStm, REFIID,riid, void*,pv, DWORD,dwDestContext, void*,pvDestContext, DWORD,mshlflags) \
|
||||
ICOM_METHOD3(HRESULT,UnmarshalInterface, IStream*,pStm, REFIID,riid, void**,ppv) \
|
||||
ICOM_METHOD1(HRESULT,ReleaseMarshalData, IStream*,pStm) \
|
||||
ICOM_METHOD1(HRESULT,DisconnectObject, DWORD,dwReserved)
|
||||
#define IMarshal_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IMarshal_METHODS
|
||||
ICOM_DEFINE(IMarshal,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IMarshal_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IMarshal_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IMarshal_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IMarshal methods ***/
|
||||
#define IMarshal_GetUnmarshalClass(p,a,b,c,d,e,f) ICOM_CALL6(GetUnmarshalClass,p,a,b,c,d,e,f)
|
||||
#define IMarshal_GetMarshalSizeMax(p,a,b,c,d,e,f) ICOM_CALL6(GetMarshalSizeMax,p,a,b,c,d,e,f)
|
||||
#define IMarshal_MarshalInterface(p,a,b,c,d,e,f) ICOM_CALL6(MarshalInterface,p,a,b,c,d,e,f)
|
||||
#define IMarshal_UnmarshalInterface(p,a,b,c) ICOM_CALL3(UnmarshalInterface,p,a,b,c)
|
||||
#define IMarshal_ReleaseMarshalData(p,a) ICOM_CALL1(ReleaseMarshalData,p,a)
|
||||
#define IMarshal_DisconnectObject(p,a) ICOM_CALL1(DisconnectObject,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IStdMarshalInfo interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IStdMarshalInfo
|
||||
#define IStdMarshalInfo_METHODS \
|
||||
ICOM_METHOD3(HRESULT,GetClassForHandler, DWORD,dwDestContext, void*,pvDestContext, CLSID*,pClsid)
|
||||
#define IStdMarshalInfo_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IStdMarshalInfo_METHODS
|
||||
ICOM_DEFINE(IStdMarshalInfo,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IStdMarshalInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IStdMarshalInfo_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IStdMarshalInfo_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IStdMarshalInfo methods ***/
|
||||
#define IStdMarshalInfo_GetClassForHandler(p,a,b,c) ICOM_CALL3(GetClassForHandler,p,a,b,c)
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_MARSHAL_H */
|
|
@ -1,206 +0,0 @@
|
|||
/*
|
||||
* Defines miscellaneous COM interfaces and APIs defined in objidl.h.
|
||||
* These did not really fit into the other categories, whould have
|
||||
* required their own specific category or are too rarely used to be
|
||||
* put in 'obj_base.h'.
|
||||
*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_MISC_H
|
||||
#define __WINE_WINE_OBJ_MISC_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IEnumString, 0x00000101L, 0, 0);
|
||||
typedef struct IEnumString IEnumString,*LPENUMSTRING;
|
||||
|
||||
DEFINE_OLEGUID(IID_IEnumUnknown, 0x00000100L, 0, 0);
|
||||
typedef struct IEnumUnknown IEnumUnknown,*LPENUMUNKNOWN;
|
||||
|
||||
DEFINE_OLEGUID(IID_IMalloc, 0x00000002L, 0, 0);
|
||||
typedef struct IMalloc IMalloc,*LPMALLOC;
|
||||
|
||||
DEFINE_OLEGUID(IID_IMallocSpy, 0x0000001dL, 0, 0);
|
||||
typedef struct IMallocSpy IMallocSpy,*LPMALLOCSPY;
|
||||
|
||||
DEFINE_OLEGUID(IID_IMultiQI, 0x00000020L, 0, 0);
|
||||
typedef struct IMultiQI IMultiQI,*LPMULTIQI;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumString interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumString
|
||||
#define IEnumString_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, LPOLESTR*,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT, Clone, IEnumString**, ppenum)
|
||||
#define IEnumString_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumString_METHODS
|
||||
ICOM_DEFINE(IEnumString,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumString_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumString_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumString_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumString methods ***/
|
||||
#define IEnumString_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumString_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumString_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumString_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumUnknown interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumUnknown
|
||||
#define IEnumUnknown_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, IUnknown**,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumUnknown**,ppenum)
|
||||
#define IEnumUnknown_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumUnknown_METHODS
|
||||
ICOM_DEFINE(IEnumUnknown,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumUnknown_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumUnknown_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumUnknown_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumUnknown methods ***/
|
||||
#define IEnumUnknown_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumUnknown_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumUnknown_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumUnknown_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IMalloc interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IMalloc
|
||||
#define IMalloc_METHODS \
|
||||
ICOM_METHOD1 (LPVOID,Alloc, DWORD,cb) \
|
||||
ICOM_METHOD2 (LPVOID,Realloc, LPVOID,pv, DWORD,cb) \
|
||||
ICOM_VMETHOD1( Free, LPVOID,pv) \
|
||||
ICOM_METHOD1(DWORD, GetSize, LPVOID,pv) \
|
||||
ICOM_METHOD1(INT, DidAlloc, LPVOID,pv) \
|
||||
ICOM_METHOD (VOID, HeapMinimize)
|
||||
#define IMalloc_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IMalloc_METHODS
|
||||
ICOM_DEFINE(IMalloc,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IMalloc_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IMalloc_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IMalloc_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IMalloc methods ***/
|
||||
#define IMalloc_Alloc(p,a) ICOM_CALL1(Alloc,p,a)
|
||||
#define IMalloc_Realloc(p,a,b) ICOM_CALL2(Realloc,p,a,b)
|
||||
#define IMalloc_Free(p,a) ICOM_CALL1(Free,p,a)
|
||||
#define IMalloc_GetSize(p,a) ICOM_CALL1(GetSize,p,a)
|
||||
#define IMalloc_DidAlloc(p,a) ICOM_CALL1(DidAlloc,p,a)
|
||||
#define IMalloc_HeapMinimize(p) ICOM_CALL (HeapMinimize,p)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IMallocSpy interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IMallocSpy
|
||||
#define IMallocSpy_METHODS \
|
||||
ICOM_METHOD1 (ULONG,PreAlloc, ULONG,cbRequest) \
|
||||
ICOM_METHOD1 (PVOID,PostAlloc, void*,pActual) \
|
||||
ICOM_METHOD2 (PVOID,PreFree, void*,pRequest, BOOL,fSpyed) \
|
||||
ICOM_VMETHOD1( PostFree, BOOL,fSpyed) \
|
||||
ICOM_METHOD4 (ULONG,PreRealloc, void*,pRequest, ULONG,cbRequest, void**,ppNewRequest, BOOL,fSpyed) \
|
||||
ICOM_METHOD2 (PVOID,PostRealloc, void*,pActual, BOOL,fSpyed) \
|
||||
ICOM_METHOD2 (PVOID,PreGetSize, void*,pRequest, BOOL,fSpyed) \
|
||||
ICOM_METHOD2 (ULONG,PostGetSize, ULONG,cbActual, BOOL,fSpyed) \
|
||||
ICOM_METHOD2 (PVOID,PreDidAlloc, void*,pRequest, BOOL,fSpyed) \
|
||||
ICOM_METHOD3 (int, PostDidAlloc, void*,pRequest, BOOL,fSpyed, int,fActual) \
|
||||
ICOM_METHOD (int, PreHeapMinimize) \
|
||||
ICOM_METHOD (int, PostHeapMinimize)
|
||||
#define IMallocSpy_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IMallocSpy_METHODS
|
||||
ICOM_DEFINE(IMallocSpy,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IMallocSpy_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IMallocSpy_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IMallocSpy_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IMallocSpy methods ***/
|
||||
#define IMallocSpy_PreAlloc(p,a) ICOM_CALL1(PreAlloc,p,a)
|
||||
#define IMallocSpy_PostAlloc(p,a) ICOM_CALL1(PostAlloc,p,a)
|
||||
#define IMallocSpy_PreFree(p,a,b) ICOM_CALL2(PreFree,p,a,b)
|
||||
#define IMallocSpy_PostFree(p,a) ICOM_CALL1(PostFree,p,a)
|
||||
#define IMallocSpy_PreRealloc(p,a,b,c,d) ICOM_CALL4(PreRealloc,p,a,b,c,d)
|
||||
#define IMallocSpy_PostRealloc(p,a,b) ICOM_CALL2(PostRealloc,p,a,b)
|
||||
#define IMallocSpy_PreGetSize(p,a,b) ICOM_CALL2(PreGetSize,p,a,b)
|
||||
#define IMallocSpy_PostGetSize(p,a,b) ICOM_CALL2(PostGetSize,p,a,b)
|
||||
#define IMallocSpy_PreDidAlloc(p,a,b) ICOM_CALL2(PreDidAlloc,p,a,b)
|
||||
#define IMallocSpy_PostDidAlloc(p,a,b,c) ICOM_CALL3(PostDidAlloc,p,a,b,c)
|
||||
#define IMallocSpy_PreHeapMinimize(p) ICOM_CALL (PreHeapMinimize,p)
|
||||
#define IMallocSpy_PostHeapMinimize(p) ICOM_CALL (PostHeapMinimize,p)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IMultiQI interface
|
||||
*/
|
||||
typedef struct tagMULTI_QI
|
||||
{
|
||||
const IID* pIID;
|
||||
IUnknown* pItf;
|
||||
HRESULT hr;
|
||||
} MULTI_QI;
|
||||
|
||||
#define ICOM_INTERFACE IMultiQI
|
||||
#define IMultiQI_METHODS \
|
||||
ICOM_METHOD2(HRESULT,QueryMultipleInterfaces, ULONG,cMQIs, MULTI_QI*,pMQIs)
|
||||
#define IMultiQI_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IMultiQI_METHODS
|
||||
ICOM_DEFINE(IMultiQI,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IMultiQI_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IMultiQI_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IMultiQI_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IMultiQI methods ***/
|
||||
#define IMultiQI_QueryMultipleInterfaces(p,a,b) ICOM_CALL2(QueryMultipleInterfaces,p,a,b)
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_MISC_H */
|
|
@ -1,323 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs related to the moniker functionality.
|
||||
*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_MONIKER_H
|
||||
#define __WINE_WINE_OBJ_MONIKER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IBindCtx,0xe,0,0);
|
||||
typedef struct IBindCtx IBindCtx,*LPBINDCTX;
|
||||
typedef LPBINDCTX LPBC;
|
||||
|
||||
DEFINE_OLEGUID(IID_IClassActivator, 0x00000140L, 0, 0);
|
||||
typedef struct IClassActivator IClassActivator,*LPCLASSACTIVATOR;
|
||||
|
||||
DEFINE_OLEGUID(IID_IEnumMoniker, 0x00000102L, 0, 0);
|
||||
typedef struct IEnumMoniker IEnumMoniker,*LPENUMMONIKER;
|
||||
|
||||
DEFINE_OLEGUID(IID_IMoniker, 0x0000000fL, 0, 0);
|
||||
typedef struct IMoniker IMoniker,*LPMONIKER;
|
||||
|
||||
DEFINE_GUID (IID_IROTData, 0xf29f6bc0L, 0x5021, 0x11ce, 0xaa, 0x15, 0x00, 0x00, 0x69, 0x01, 0x29, 0x3f);
|
||||
typedef struct IROTData IROTData,*LPROTDATA;
|
||||
|
||||
DEFINE_OLEGUID(IID_IRunnableObject, 0x00000126L, 0, 0);
|
||||
typedef struct IRunnableObject IRunnableObject,*LPRUNNABLEOBJECT;
|
||||
|
||||
DEFINE_OLEGUID(IID_IRunningObjectTable, 0x00000010L, 0, 0);
|
||||
typedef struct IRunningObjectTable IRunningObjectTable,*LPRUNNINGOBJECTTABLE;
|
||||
|
||||
/*********************************************************************************
|
||||
* BIND_OPTS and BIND_OPTS2 structures definition
|
||||
* These structures contain parameters used during a moniker-binding operation.
|
||||
*********************************************************************************/
|
||||
typedef struct tagBIND_OPTS
|
||||
{
|
||||
DWORD cbStruct;
|
||||
DWORD grfFlags;
|
||||
DWORD grfMode;
|
||||
DWORD dwTickCountDeadline;
|
||||
} BIND_OPTS, * LPBIND_OPTS;
|
||||
|
||||
typedef struct tagBIND_OPTS2
|
||||
{
|
||||
DWORD cbStruct;
|
||||
DWORD grfFlags;
|
||||
DWORD grfMode;
|
||||
DWORD dwTickCountDeadline;
|
||||
DWORD dwTrackFlags;
|
||||
DWORD dwClassContext;
|
||||
LCID locale;
|
||||
COSERVERINFO* pServerInfo;
|
||||
} BIND_OPTS2, * LPBIND_OPTS2;
|
||||
|
||||
/*****************************************************************************
|
||||
* IBindCtx interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IBindCtx
|
||||
#define IBindCtx_METHODS \
|
||||
ICOM_METHOD1 (HRESULT, RegisterObjectBound, IUnknown*,punk) \
|
||||
ICOM_METHOD1 (HRESULT, RevokeObjectBound, IUnknown*,punk) \
|
||||
ICOM_METHOD (HRESULT, ReleaseBoundObjects) \
|
||||
ICOM_METHOD1 (HRESULT, SetBindOptions, LPBIND_OPTS2,pbindopts) \
|
||||
ICOM_METHOD1 (HRESULT, GetBindOptions, LPBIND_OPTS2,pbindopts) \
|
||||
ICOM_METHOD1 (HRESULT, GetRunningObjectTable,IRunningObjectTable**,pprot) \
|
||||
ICOM_METHOD2 (HRESULT, RegisterObjectParam, LPOLESTR,pszkey, IUnknown*,punk) \
|
||||
ICOM_METHOD2 (HRESULT, GetObjectParam, LPOLESTR,pszkey, IUnknown**,punk) \
|
||||
ICOM_METHOD1 (HRESULT, EnumObjectParam, IEnumString**,ppenum) \
|
||||
ICOM_METHOD1 (HRESULT, RevokeObjectParam, LPOLESTR,pszkey)
|
||||
#define IBindCtx_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IBindCtx_METHODS
|
||||
ICOM_DEFINE(IBindCtx,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IBindCtx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IBindCtxr_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IBindCtx_Release(p) ICOM_CALL (Release,p)
|
||||
/* IBindCtx methods*/
|
||||
#define IBindCtx_RegisterObjectBound(p,a) ICOM_CALL1(RegisterObjectBound,p,a)
|
||||
#define IBindCtx_RevokeObjectBound(p,a) ICOM_CALL1(RevokeObjectBound,p,a)
|
||||
#define IBindCtx_ReleaseBoundObjects(p) ICOM_CALL (ReleaseBoundObjects,p)
|
||||
#define IBindCtx_SetBindOptions(p,a) ICOM_CALL1(SetBindOptions,p,a)
|
||||
#define IBindCtx_GetBindOptions(p,a) ICOM_CALL1(GetBindOptions,p,a)
|
||||
#define IBindCtx_GetRunningObjectTable(p,a) ICOM_CALL1(GetRunningObjectTable,p,a)
|
||||
#define IBindCtx_RegisterObjectParam(p,a,b) ICOM_CALL2(RegisterObjectParam,p,a,b)
|
||||
#define IBindCtx_GetObjectParam(p,a,b) ICOM_CALL2(GetObjectParam,p,a,b)
|
||||
#define IBindCtx_EnumObjectParam(p,a) ICOM_CALL1(EnumObjectParam,p,a)
|
||||
#define IBindCtx_RevokeObjectParam(p,a) ICOM_CALL1(RevokeObjectParam,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IClassActivator interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IClassActivator
|
||||
#define IClassActivator_METHODS \
|
||||
ICOM_METHOD5(HRESULT,GetClassObject, REFCLSID,rclsid, DWORD,dwClassContext, LCID,locale, REFIID,riid, void**,ppv)
|
||||
#define IClassActivator_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IClassActivator_METHODS
|
||||
ICOM_DEFINE(IClassActivator,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IClassActivator_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IClassActivator_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IClassActivator_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IClassActivator methods ***/
|
||||
#define IClassActivator_GetClassObject(p,a,b,c,d,e) ICOM_CALL5(GetClassObject,p,a,b,c,d,e)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumMoniker interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumMoniker
|
||||
#define IEnumMoniker_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, IMoniker**,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumMoniker**,ppenum)
|
||||
#define IEnumMoniker_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumMoniker_METHODS
|
||||
ICOM_DEFINE(IEnumMoniker,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumMoniker_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumMoniker_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumMoniker_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumMoniker methods ***/
|
||||
#define IEnumMoniker_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumMoniker_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumMoniker_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumMoniker_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
/*****************************************************************************
|
||||
* IMoniker interface
|
||||
*/
|
||||
|
||||
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;
|
||||
|
||||
typedef enum tagMKREDUCE
|
||||
{
|
||||
MKRREDUCE_ONE = 3 << 16,
|
||||
MKRREDUCE_TOUSER = 2 << 16,
|
||||
MKRREDUCE_THROUGHUSER = 1 << 16,
|
||||
MKRREDUCE_ALL = 0
|
||||
} MKRREDUCE;
|
||||
|
||||
#define ICOM_INTERFACE IMoniker
|
||||
#define IMoniker_METHODS \
|
||||
ICOM_METHOD4(HRESULT,BindToObject, IBindCtx*,pbc, IMoniker*,pmkToLeft, REFIID,riidResult, void**,ppvResult) \
|
||||
ICOM_METHOD4(HRESULT,BindToStorage, IBindCtx*,pbc, IMoniker*,pmkToLeft, REFIID,riid, void**,ppvObj) \
|
||||
ICOM_METHOD4(HRESULT,Reduce, IBindCtx*,pbc, DWORD,dwReduceHowFar, IMoniker**,ppmkToLeft, IMoniker**,ppmkReduced) \
|
||||
ICOM_METHOD3(HRESULT,ComposeWith, IMoniker*,pmkRight, BOOL,fOnlyIfNotGeneric, IMoniker**,ppmkComposite) \
|
||||
ICOM_METHOD2(HRESULT,Enum, BOOL,fForward, IEnumMoniker**,ppenumMoniker) \
|
||||
ICOM_METHOD1(HRESULT,IsEqual, IMoniker*,pmkOtherMoniker) \
|
||||
ICOM_METHOD1(HRESULT,Hash, DWORD*,pdwHash) \
|
||||
ICOM_METHOD3(HRESULT,IsRunning, IBindCtx*,pbc, IMoniker*,pmkToLeft, IMoniker*,pmkNewlyRunning) \
|
||||
ICOM_METHOD3(HRESULT,GetTimeOfLastChange, IBindCtx*,pbc, IMoniker*,pmkToLeft, FILETIME*,pFileTime) \
|
||||
ICOM_METHOD1(HRESULT,Inverse, IMoniker**,ppmk) \
|
||||
ICOM_METHOD2(HRESULT,CommonPrefixWith, IMoniker*,pmkOtherMoniker, IMoniker**,ppmkPrefix) \
|
||||
ICOM_METHOD2(HRESULT,RelativePathTo, IMoniker*,pmkOther, IMoniker**,ppmkRelPath) \
|
||||
ICOM_METHOD3(HRESULT,GetDisplayName, IBindCtx*,pbc, IMoniker*,pmkToLeft, LPOLESTR*,ppszDisplayName) \
|
||||
ICOM_METHOD5(HRESULT,ParseDisplayName, IBindCtx*,pbc, IMoniker*,pmkToLeft, LPOLESTR,pszDisplayName, ULONG*,pchEaten, IMoniker**,ppmkOut) \
|
||||
ICOM_METHOD1(HRESULT,IsSystemMoniker, DWORD*,pdwMksys)
|
||||
#define IMoniker_IMETHODS \
|
||||
IPersistStream_IMETHODS \
|
||||
IMoniker_METHODS
|
||||
ICOM_DEFINE(IMoniker,IPersistStream)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IMoniker_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IMoniker_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IMoniker_Release(p) ICOM_CALL (Release,p)
|
||||
|
||||
/*** IPersist methods ***/
|
||||
#define IMoniker_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
|
||||
/*** IPersistStream methods ***/
|
||||
#define IMoniker_IsDirty(p) ICOM_CALL (IsDirty,p)
|
||||
#define IMoniker_Load(p,a) ICOM_CALL1(Load,p,a)
|
||||
#define IMoniker_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
|
||||
#define IMoniker_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
|
||||
/*** IMoniker methods ***/
|
||||
#define IMoniker_BindToObject(p,a,b,c,d) ICOM_CALL4(BindToObject,p,a,b,c,d)
|
||||
#define IMoniker_BindToStorage(p,a,b,c,d) ICOM_CALL4(BindToStorage,p,a,b,c,d)
|
||||
#define IMoniker_Reduce(p,a,b,c,d) ICOM_CALL4(Reduce,p,a,b,c,d)
|
||||
#define IMoniker_ComposeWith(p,a,b,c) ICOM_CALL3(ComposeWith,p,a,b,c)
|
||||
#define IMoniker_Enum(p,a,b) ICOM_CALL2(Enum,p,a,b)
|
||||
#define IMoniker_IsEqual(p,a) ICOM_CALL1(IsEqual,p,a)
|
||||
#define IMoniker_Hash(p,a) ICOM_CALL1(Hash,p,a)
|
||||
#define IMoniker_IsRunning(p,a,b,c) ICOM_CALL3(IsRunning,p,a,b,c)
|
||||
#define IMoniker_GetTimeOfLastChange(p,a,b,c) ICOM_CALL3(GetTimeOfLastChange,p,a,b,c)
|
||||
#define IMoniker_Inverse(p,a) ICOM_CALL1(Inverse,p,a)
|
||||
#define IMoniker_CommonPrefixWith(p,a,b) ICOM_CALL2(CommonPrefixWith,p,a,b)
|
||||
#define IMoniker_RelativePathTo(p,a,b) ICOM_CALL2(RelativePathTo,p,a,b)
|
||||
#define IMoniker_GetDisplayName(p,a,b,c) ICOM_CALL3(GetDisplayName,p,a,b,c)
|
||||
#define IMoniker_ParseDisplayName(p,a,b,c,d,e) ICOM_CALL5(ParseDisplayName,p,a,b,c,d,e)
|
||||
#define IMoniker_IsSystemMoniker(p,a) ICOM_CALL1(IsSystemMoniker,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IROTData interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IROTData
|
||||
#define IROTData_METHODS \
|
||||
ICOM_METHOD3(HRESULT,GetComparisonData, byte*,pbData, ULONG,cbMax, ULONG*,pcbData)
|
||||
#define IROTData_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IROTData_METHODS
|
||||
ICOM_DEFINE(IROTData,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IROTData_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IROTData_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IROTData_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IROTData methods ***/
|
||||
#define IROTData_GetComparisonData(p,a,b,c) ICOM_CALL3(GetComparisonData,p,a,b,c)
|
||||
|
||||
/*****************************************************************************
|
||||
* IRunnableObject interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IRunnableObject
|
||||
#define IRunnableObject_METHODS \
|
||||
ICOM_METHOD1(HRESULT,GetRunningClass, LPCLSID,lpClsid) \
|
||||
ICOM_METHOD1(HRESULT,Run, IBindCtx*,pbc) \
|
||||
ICOM_METHOD (BOOL,IsRunning) \
|
||||
ICOM_METHOD2(HRESULT,LockRunning, BOOL,fLock, BOOL,fLastUnlockCloses) \
|
||||
ICOM_METHOD1(HRESULT,SetContainedObject, BOOL,fContained)
|
||||
#define IRunnableObject_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IRunnableObject_METHODS
|
||||
ICOM_DEFINE(IRunnableObject,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IRunnableObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IRunnableObject_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IRunnableObject_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IRunnableObject methods ***/
|
||||
#define IRunnableObject_GetRunningClass(p,a) ICOM_CALL1(GetRunningClass,p,a)
|
||||
#define IRunnableObject_Run(p,a) ICOM_CALL1(Run,p,a)
|
||||
#define IRunnableObject_IsRunning(p) ICOM_CALL (IsRunning,p)
|
||||
#define IRunnableObject_LockRunning(p,a,b) ICOM_CALL2(LockRunning,p,a,b)
|
||||
#define IRunnableObject_SetContainedObject(p,a) ICOM_CALL1(SetContainedObject,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IRunningObjectTable interface
|
||||
*/
|
||||
#ifdef __WINE__
|
||||
#undef GetObject
|
||||
#endif
|
||||
|
||||
#define ICOM_INTERFACE IRunningObjectTable
|
||||
#define IRunningObjectTable_METHODS \
|
||||
ICOM_METHOD4(HRESULT,Register, DWORD,grfFlags, IUnknown*,punkObject, IMoniker*,pmkObjectName, DWORD*,pdwRegister) \
|
||||
ICOM_METHOD1(HRESULT,Revoke, DWORD,dwRegister) \
|
||||
ICOM_METHOD1(HRESULT,IsRunning, IMoniker*,pmkObjectName) \
|
||||
ICOM_METHOD2(HRESULT,GetObject, IMoniker*,pmkObjectName, IUnknown**,ppunkObject) \
|
||||
ICOM_METHOD2(HRESULT,NoteChangeTime, DWORD,dwRegister, FILETIME*,pfiletime) \
|
||||
ICOM_METHOD2(HRESULT,GetTimeOfLastChange, IMoniker*,pmkObjectName, FILETIME*,pfiletime) \
|
||||
ICOM_METHOD1(HRESULT,EnumRunning, IEnumMoniker**,ppenumMoniker)
|
||||
#define IRunningObjectTable_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IRunningObjectTable_METHODS
|
||||
ICOM_DEFINE(IRunningObjectTable,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IRunningObjectTable_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IRunningObjectTable_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IRunningObjectTable_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IRunningObjectTable methods ***/
|
||||
#define IRunningObjectTable_Register(p,a,b,c,d) ICOM_CALL4(Register,p,a,b,c,d)
|
||||
#define IRunningObjectTable_Revoke(p,a) ICOM_CALL1(Revoke,p,a)
|
||||
#define IRunningObjectTable_IsRunning(p,a) ICOM_CALL1(IsRunning,p,a)
|
||||
#define IRunningObjectTable_GetObject(p,a,b) ICOM_CALL2(GetObject,p,a,b)
|
||||
#define IRunningObjectTable_NoteChangeTime(p,a,b) ICOM_CALL2(NoteChangeTime,p,a,b)
|
||||
#define IRunningObjectTable_GetTimeOfLastChange(p,a,b) ICOM_CALL2(GetTimeOfLastChange,p,a,b)
|
||||
#define IRunningObjectTable_EnumRunning(p,a) ICOM_CALL1(EnumRunning,p,a)
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_MONIKER_H */
|
|
@ -1,454 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs related to saving properties to file.
|
||||
*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_PROPERTYSTORAGE_H
|
||||
#define __WINE_WINE_OBJ_PROPERTYSTORAGE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IEnumSTATPROPSETSTG, 0x0000013bL, 0, 0);
|
||||
typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG,*LPENUMSTATPROPSETSTG;
|
||||
|
||||
DEFINE_OLEGUID(IID_IEnumSTATPROPSTG, 0x00000139L, 0, 0);
|
||||
typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG,*LPENUMSTATPROPSTG;
|
||||
|
||||
DEFINE_OLEGUID(IID_IPropertySetStorage, 0x0000013aL, 0, 0);
|
||||
typedef struct IPropertySetStorage IPropertySetStorage,*LPPROPERTYSETSTORAGE;
|
||||
|
||||
DEFINE_OLEGUID(IID_IPropertyStorage, 0x00000138L, 0, 0);
|
||||
typedef struct IPropertyStorage IPropertyStorage,*LPPROPERTYSTORAGE;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the structures
|
||||
*/
|
||||
|
||||
typedef struct tagSTATPROPSETSTG STATPROPSETSTG;
|
||||
typedef struct tagSTATPROPSTG STATPROPSTG;
|
||||
|
||||
extern const FMTID FMTID_SummaryInformation;
|
||||
extern const FMTID FMTID_DocSummaryInformation;
|
||||
extern const FMTID FMTID_UserDefinedProperties;
|
||||
|
||||
/*****************************************************************************
|
||||
* PROPSPEC structure
|
||||
*/
|
||||
|
||||
/* Reserved global Property IDs */
|
||||
#define PID_DICTIONARY ( 0 )
|
||||
|
||||
#define PID_CODEPAGE ( 0x1 )
|
||||
|
||||
#define PID_FIRST_USABLE ( 0x2 )
|
||||
|
||||
#define PID_FIRST_NAME_DEFAULT ( 0xfff )
|
||||
|
||||
#define PID_LOCALE ( 0x80000000 )
|
||||
|
||||
#define PID_MODIFY_TIME ( 0x80000001 )
|
||||
|
||||
#define PID_SECURITY ( 0x80000002 )
|
||||
|
||||
#define PID_ILLEGAL ( 0xffffffff )
|
||||
|
||||
/* Property IDs for the SummaryInformation Property Set */
|
||||
|
||||
#define PIDSI_TITLE 0x00000002L /* VT_LPSTR */
|
||||
#define PIDSI_SUBJECT 0x00000003L /* VT_LPSTR */
|
||||
#define PIDSI_AUTHOR 0x00000004L /* VT_LPSTR */
|
||||
#define PIDSI_KEYWORDS 0x00000005L /* VT_LPSTR */
|
||||
#define PIDSI_COMMENTS 0x00000006L /* VT_LPSTR */
|
||||
#define PIDSI_TEMPLATE 0x00000007L /* VT_LPSTR */
|
||||
#define PIDSI_LASTAUTHOR 0x00000008L /* VT_LPSTR */
|
||||
#define PIDSI_REVNUMBER 0x00000009L /* VT_LPSTR */
|
||||
#define PIDSI_EDITTIME 0x0000000aL /* VT_FILETIME (UTC) */
|
||||
#define PIDSI_LASTPRINTED 0x0000000bL /* VT_FILETIME (UTC) */
|
||||
#define PIDSI_CREATE_DTM 0x0000000cL /* VT_FILETIME (UTC) */
|
||||
#define PIDSI_LASTSAVE_DTM 0x0000000dL /* VT_FILETIME (UTC) */
|
||||
#define PIDSI_PAGECOUNT 0x0000000eL /* VT_I4 */
|
||||
#define PIDSI_WORDCOUNT 0x0000000fL /* VT_I4 */
|
||||
#define PIDSI_CHARCOUNT 0x00000010L /* VT_I4 */
|
||||
#define PIDSI_THUMBNAIL 0x00000011L /* VT_CF */
|
||||
#define PIDSI_APPNAME 0x00000012L /* VT_LPSTR */
|
||||
#define PIDSI_DOC_SECURITY 0x00000013L /* VT_I4 */
|
||||
#define PRSPEC_INVALID ( 0xffffffff )
|
||||
|
||||
|
||||
#define PRSPEC_LPWSTR ( 0 )
|
||||
#define PRSPEC_PROPID ( 1 )
|
||||
|
||||
typedef struct tagPROPSPEC
|
||||
{
|
||||
ULONG ulKind;
|
||||
union
|
||||
{
|
||||
PROPID propid;
|
||||
LPOLESTR lpwstr;
|
||||
} u;
|
||||
} PROPSPEC;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* STATPROPSETSTG structure
|
||||
*/
|
||||
/* Macros for parsing the OS Version of the Property Set Header */
|
||||
#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
|
||||
#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
|
||||
#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
|
||||
#define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
|
||||
|
||||
struct tagSTATPROPSETSTG
|
||||
{
|
||||
FMTID fmtid;
|
||||
CLSID clsid;
|
||||
DWORD grfFlags;
|
||||
FILETIME mtime;
|
||||
FILETIME ctime;
|
||||
FILETIME atime;
|
||||
DWORD dwOSVersion;
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* STATPROPSTG structure
|
||||
*/
|
||||
struct tagSTATPROPSTG
|
||||
{
|
||||
LPOLESTR lpwstrName;
|
||||
PROPID propid;
|
||||
VARTYPE vt;
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumSTATPROPSETSTG interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumSTATPROPSETSTG
|
||||
#define IEnumSTATPROPSETSTG_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATPROPSETSTG*,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumSTATPROPSETSTG**,ppenum)
|
||||
#define IEnumSTATPROPSETSTG_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumSTATPROPSETSTG_METHODS
|
||||
ICOM_DEFINE(IEnumSTATPROPSETSTG,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumSTATPROPSETSTG_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumSTATPROPSETSTG_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumSTATPROPSETSTG methods ***/
|
||||
#define IEnumSTATPROPSETSTG_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumSTATPROPSETSTG_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumSTATPROPSETSTG_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumSTATPROPSETSTG_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumSTATPROPSTG interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumSTATPROPSTG
|
||||
#define IEnumSTATPROPSTG_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATPROPSTG*,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumSTATPROPSTG**,ppenum)
|
||||
#define IEnumSTATPROPSTG_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumSTATPROPSTG_METHODS
|
||||
ICOM_DEFINE(IEnumSTATPROPSTG,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumSTATPROPSTG_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumSTATPROPSTG_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumSTATPROPSTG_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumSTATPROPSTG methods ***/
|
||||
#define IEnumSTATPROPSTG_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumSTATPROPSTG_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumSTATPROPSTG_Reset(p) ICOM_CALL (Reset,p)
|
||||
#define IEnumSTATPROPSTG_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IPropertySetStorage interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IPropertySetStorage
|
||||
#define IPropertySetStorage_METHODS \
|
||||
ICOM_METHOD5(HRESULT,Create, REFFMTID,rfmtid, const CLSID*,pclsid, DWORD,grfFlags, DWORD,grfMode, IPropertyStorage**,ppprstg) \
|
||||
ICOM_METHOD3(HRESULT,Open, REFFMTID,rfmtid, DWORD,grfMode, IPropertyStorage**,ppprstg) \
|
||||
ICOM_METHOD1(HRESULT,Delete, REFFMTID,rfmtid) \
|
||||
ICOM_METHOD1(HRESULT,Enum, IEnumSTATPROPSETSTG**,ppenum)
|
||||
#define IPropertySetStorage_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IPropertySetStorage_METHODS
|
||||
ICOM_DEFINE(IPropertySetStorage,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IPropertySetStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IPropertySetStorage_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IPropertySetStorage_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IPropertySetStorage methods ***/
|
||||
#define IPropertySetStorage_Create(p,a,b,c,d,e) ICOM_CALL5(Create,p,a,b,c,d,e)
|
||||
#define IPropertySetStorage_Open(p,a,b,c) ICOM_CALL3(Open,p,a,b,c)
|
||||
#define IPropertySetStorage_Delete(p,a) ICOM_CALL1(Delete,p,a)
|
||||
#define IPropertySetStorage_Enum(p,a) ICOM_CALL1(Enum,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IPropertyStorage interface
|
||||
*/
|
||||
typedef struct tagPROPVARIANT PROPVARIANT,*LPPROPVARIANT;
|
||||
|
||||
/* Flags for IPropertySetStorage::Create */
|
||||
#define PROPSETFLAG_DEFAULT ( 0 )
|
||||
#define PROPSETFLAG_NONSIMPLE ( 1 )
|
||||
#define PROPSETFLAG_ANSI ( 2 )
|
||||
|
||||
typedef struct tagCAUB
|
||||
{
|
||||
ULONG cElems;
|
||||
unsigned char *pElems;
|
||||
} CAUB;
|
||||
|
||||
typedef struct tagCAI
|
||||
{
|
||||
ULONG cElems;
|
||||
short *pElems;
|
||||
} CAI;
|
||||
|
||||
typedef struct tagCAUI
|
||||
{
|
||||
ULONG cElems;
|
||||
USHORT *pElems;
|
||||
} CAUI;
|
||||
|
||||
typedef struct tagCAL
|
||||
{
|
||||
ULONG cElems;
|
||||
long *pElems;
|
||||
} CAL;
|
||||
|
||||
typedef struct tagCAUL
|
||||
{
|
||||
ULONG cElems;
|
||||
ULONG *pElems;
|
||||
} CAUL;
|
||||
|
||||
typedef struct tagCAFLT
|
||||
{
|
||||
ULONG cElems;
|
||||
float *pElems;
|
||||
} CAFLT;
|
||||
|
||||
typedef struct tagCADBL
|
||||
{
|
||||
ULONG cElems;
|
||||
double *pElems;
|
||||
} CADBL;
|
||||
|
||||
typedef struct tagCACY
|
||||
{
|
||||
ULONG cElems;
|
||||
CY *pElems;
|
||||
} CACY;
|
||||
|
||||
typedef struct tagCADATE
|
||||
{
|
||||
ULONG cElems;
|
||||
DATE *pElems;
|
||||
} CADATE;
|
||||
|
||||
typedef struct tagCABSTR
|
||||
{
|
||||
ULONG cElems;
|
||||
BSTR *pElems;
|
||||
} CABSTR;
|
||||
|
||||
typedef struct tagCABOOL
|
||||
{
|
||||
ULONG cElems;
|
||||
VARIANT_BOOL *pElems;
|
||||
} CABOOL;
|
||||
|
||||
typedef struct tagCASCODE
|
||||
{
|
||||
ULONG cElems;
|
||||
SCODE *pElems;
|
||||
} CASCODE;
|
||||
|
||||
typedef struct tagCAPROPVARIANT
|
||||
{
|
||||
ULONG cElems;
|
||||
PROPVARIANT *pElems;
|
||||
} CAPROPVARIANT;
|
||||
|
||||
typedef struct tagCAH
|
||||
{
|
||||
ULONG cElems;
|
||||
LARGE_INTEGER *pElems;
|
||||
} CAH;
|
||||
|
||||
typedef struct tagCAUH
|
||||
{
|
||||
ULONG cElems;
|
||||
ULARGE_INTEGER *pElems;
|
||||
} CAUH;
|
||||
|
||||
typedef struct tagCALPSTR
|
||||
{
|
||||
ULONG cElems;
|
||||
LPSTR *pElems;
|
||||
} CALPSTR;
|
||||
|
||||
typedef struct tagCALPWSTR
|
||||
{
|
||||
ULONG cElems;
|
||||
LPWSTR *pElems;
|
||||
} CALPWSTR;
|
||||
|
||||
typedef struct tagCAFILETIME
|
||||
{
|
||||
ULONG cElems;
|
||||
FILETIME *pElems;
|
||||
} CAFILETIME;
|
||||
|
||||
typedef struct tagCACLIPDATA
|
||||
{
|
||||
ULONG cElems;
|
||||
CLIPDATA *pElems;
|
||||
} CACLIPDATA;
|
||||
|
||||
typedef struct tagCACLSID
|
||||
{
|
||||
ULONG cElems;
|
||||
CLSID *pElems;
|
||||
} CACLSID;
|
||||
|
||||
struct tagPROPVARIANT
|
||||
{
|
||||
VARTYPE vt;
|
||||
WORD wReserved1;
|
||||
WORD wReserved2;
|
||||
WORD wReserved3;
|
||||
union
|
||||
{
|
||||
/* Empty union arm */
|
||||
UCHAR bVal;
|
||||
short iVal;
|
||||
USHORT uiVal;
|
||||
VARIANT_BOOL boolVal;
|
||||
#ifndef __cplusplus
|
||||
/* FIXME: bool is reserved in C++, how can we deal with that ? */
|
||||
_VARIANT_BOOL bool;
|
||||
#endif
|
||||
long lVal;
|
||||
ULONG ulVal;
|
||||
float fltVal;
|
||||
SCODE scode;
|
||||
LARGE_INTEGER hVal;
|
||||
ULARGE_INTEGER uhVal;
|
||||
double dblVal;
|
||||
CY cyVal;
|
||||
DATE date;
|
||||
FILETIME filetime;
|
||||
CLSID *puuid;
|
||||
BLOB blob;
|
||||
CLIPDATA *pclipdata;
|
||||
IStream *pStream;
|
||||
IStorage *pStorage;
|
||||
BSTR bstrVal;
|
||||
LPSTR pszVal;
|
||||
LPWSTR pwszVal;
|
||||
CAUB caub;
|
||||
CAI cai;
|
||||
CAUI caui;
|
||||
CABOOL cabool;
|
||||
CAL cal;
|
||||
CAUL caul;
|
||||
CAFLT caflt;
|
||||
CASCODE cascode;
|
||||
CAH cah;
|
||||
CAUH cauh;
|
||||
CADBL cadbl;
|
||||
CACY cacy;
|
||||
CADATE cadate;
|
||||
CAFILETIME cafiletime;
|
||||
CACLSID cauuid;
|
||||
CACLIPDATA caclipdata;
|
||||
CABSTR cabstr;
|
||||
CALPSTR calpstr;
|
||||
CALPWSTR calpwstr;
|
||||
CAPROPVARIANT capropvar;
|
||||
} u;
|
||||
};
|
||||
|
||||
|
||||
#define ICOM_INTERFACE IPropertyStorage
|
||||
#define IPropertyStorage_METHODS \
|
||||
ICOM_METHOD3(HRESULT,ReadMultiple, ULONG,cpspec, const PROPSPEC*,rgpspec, PROPVARIANT*,rgpropvar) \
|
||||
ICOM_METHOD4(HRESULT,WriteMultiple, ULONG,cpspec, const PROPSPEC*,rgpspec, const PROPVARIANT*,rgpropvar, PROPID,propidNameFirst) \
|
||||
ICOM_METHOD2(HRESULT,DeleteMultiple, ULONG,cpspec, const PROPSPEC*,rgpspec) \
|
||||
ICOM_METHOD2(HRESULT,ReadPropertyNames, const PROPID*,rgpropid, LPOLESTR*,rglpwstrName) \
|
||||
ICOM_METHOD3(HRESULT,WritePropertyNames, ULONG,cpropid, const PROPID*,rgpropid, LPOLESTR*,rglpwstrName) \
|
||||
ICOM_METHOD2(HRESULT,DeletePropertyNames, ULONG,cpropid, const PROPID*,rgpropid) \
|
||||
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
|
||||
ICOM_METHOD (HRESULT,Revert) \
|
||||
ICOM_METHOD1(HRESULT,Enum, IEnumSTATPROPSTG**,ppenum) \
|
||||
ICOM_METHOD3(HRESULT,SetTimes, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime) \
|
||||
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid) \
|
||||
ICOM_METHOD1(HRESULT,Stat, STATPROPSETSTG*,pstatpsstg)
|
||||
#define IPropertyStorage_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IPropertyStorage_METHODS
|
||||
ICOM_DEFINE(IPropertyStorage,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IPropertyStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IPropertyStorage_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IPropertyStorage_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IPropertyStorage methods ***/
|
||||
#define IPropertyStorage_ReadMultiple(p,a,b,c) ICOM_CALL3(ReadMultiple,p,a,b,c)
|
||||
#define IPropertyStorage_WriteMultiple(p,a,b,c,d) ICOM_CALL4(WriteMultiple,p,a,b,c,d)
|
||||
#define IPropertyStorage_DeleteMultiple(p,a,b) ICOM_CALL2(DeleteMultiple,p,a,b)
|
||||
#define IPropertyStorage_ReadPropertyNames(p,a,b) ICOM_CALL2(ReadPropertyNames,p,a,b)
|
||||
#define IPropertyStorage_WritePropertyNames(p,a,b,c) ICOM_CALL3(WritePropertyNames,p,a,b,c)
|
||||
#define IPropertyStorage_DeletePropertyNames(p,a,b) ICOM_CALL2(DeletePropertyNames,p,a,b)
|
||||
#define IPropertyStorage_Commit(p,a) ICOM_CALL1(Commit,p,a)
|
||||
#define IPropertyStorage_Revert(p) ICOM_CALL (Revert,p)
|
||||
#define IPropertyStorage_Enum(p,a) ICOM_CALL1(Enum,p,a)
|
||||
#define IPropertyStorage_SetTimes(p,a,b,c) ICOM_CALL3(SetTimes,p,a,b,c)
|
||||
#define IPropertyStorage_SetClass(p,a) ICOM_CALL1(SetClass,p,a)
|
||||
#define IPropertyStorage_Stat(p,a) ICOM_CALL1(Stat,p,a)
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_PROPERTYSTORAGE_H */
|
|
@ -1,599 +0,0 @@
|
|||
/*
|
||||
* Defines the COM interfaces and APIs related to structured data storage.
|
||||
*
|
||||
* Copyright (C) the Wine project
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_WINE_OBJ_STORAGE_H
|
||||
#define __WINE_WINE_OBJ_STORAGE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the structures
|
||||
*/
|
||||
typedef enum tagLOCKTYPE
|
||||
{
|
||||
#undef LOCK_WRITE
|
||||
LOCK_WRITE = 1,
|
||||
LOCK_EXCLUSIVE = 2,
|
||||
LOCK_ONLYONCE = 4
|
||||
} LOCKTYPE;
|
||||
|
||||
typedef struct tagStorageLayout
|
||||
{
|
||||
DWORD LayoutType;
|
||||
OLECHAR16* pwcsElementName;
|
||||
LARGE_INTEGER cOffset;
|
||||
LARGE_INTEGER cBytes;
|
||||
} StorageLayout;
|
||||
|
||||
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;
|
||||
|
||||
typedef struct tagSTATSTG16 {
|
||||
LPOLESTR16 pwcsName;
|
||||
DWORD type;
|
||||
ULARGE_INTEGER cbSize;
|
||||
FILETIME mtime;
|
||||
FILETIME ctime;
|
||||
FILETIME atime;
|
||||
DWORD grfMode;
|
||||
DWORD grfLocksSupported;
|
||||
CLSID clsid;
|
||||
DWORD grfStateBits;
|
||||
DWORD reserved;
|
||||
} STATSTG16;
|
||||
|
||||
typedef LPOLESTR16 *SNB16;
|
||||
typedef LPOLESTR *SNB;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interfaces
|
||||
*/
|
||||
DEFINE_OLEGUID(IID_IEnumSTATSTG, 0x0000000dL, 0, 0);
|
||||
typedef struct IEnumSTATSTG IEnumSTATSTG,*LPENUMSTATSTG;
|
||||
|
||||
DEFINE_GUID (IID_IFillLockBytes, 0x99caf010L, 0x415e, 0x11cf, 0x88, 0x14, 0x00, 0xaa, 0x00, 0xb5, 0x69, 0xf5);
|
||||
typedef struct IFillLockBytes IFillLockBytes,*LPFILLLOCKBYTES;
|
||||
|
||||
DEFINE_GUID (IID_ILayoutStorage, 0x0e6d4d90L, 0x6738, 0x11cf, 0x96, 0x08, 0x00, 0xaa, 0x00, 0x68, 0x0d, 0xb4);
|
||||
typedef struct ILayoutStorage ILayoutStorage,*LPLAYOUTSTORAGE;
|
||||
|
||||
DEFINE_OLEGUID(IID_ILockBytes, 0x0000000aL, 0, 0);
|
||||
typedef struct ILockBytes ILockBytes,*LPLOCKBYTES;
|
||||
|
||||
DEFINE_OLEGUID(IID_IPersist, 0x0000010cL, 0, 0);
|
||||
typedef struct IPersist IPersist,*LPPERSIST;
|
||||
|
||||
DEFINE_OLEGUID(IID_IPersistFile, 0x0000010bL, 0, 0);
|
||||
typedef struct IPersistFile IPersistFile,*LPPERSISTFILE;
|
||||
|
||||
DEFINE_OLEGUID(IID_IPersistStorage, 0x0000010aL, 0, 0);
|
||||
typedef struct IPersistStorage IPersistStorage,*LPPERSISTSTORAGE;
|
||||
|
||||
DEFINE_OLEGUID(IID_IPersistStream, 0x00000109L, 0, 0);
|
||||
typedef struct IPersistStream IPersistStream,*LPPERSISTSTREAM;
|
||||
|
||||
DEFINE_GUID (IID_IProgressNotify, 0xa9d758a0L, 0x4617, 0x11cf, 0x95, 0xfc, 0x00, 0xaa, 0x00, 0x68, 0x0d, 0xb4);
|
||||
typedef struct IProgressNotify IProgressNotify,*LPPROGRESSNOTIFY;
|
||||
|
||||
DEFINE_OLEGUID(IID_IRootStorage, 0x00000012L, 0, 0);
|
||||
typedef struct IRootStorage IRootStorage,*LPROOTSTORAGE;
|
||||
|
||||
DEFINE_GUID (IID_ISequentialStream, 0x0c733a30L, 0x2a1c, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);
|
||||
typedef struct ISequentialStream ISequentialStream,*LPSEQUENTIALSTREAM;
|
||||
|
||||
DEFINE_OLEGUID(IID_IStorage, 0x0000000bL, 0, 0);
|
||||
typedef struct IStorage16 IStorage16,*LPSTORAGE16;
|
||||
typedef struct IStorage IStorage,*LPSTORAGE;
|
||||
|
||||
DEFINE_OLEGUID(IID_IStream, 0x0000000cL, 0, 0);
|
||||
typedef struct IStream16 IStream16,*LPSTREAM16;
|
||||
typedef struct IStream IStream,*LPSTREAM;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* STGTY enumeration
|
||||
*
|
||||
* See IStorage
|
||||
*/
|
||||
#define STGTY_STORAGE 1
|
||||
#define STGTY_STREAM 2
|
||||
#define STGTY_LOCKBYTES 3
|
||||
#define STGTY_PROPERTY 4
|
||||
|
||||
/*****************************************************************************
|
||||
* STREAM_SEEK enumeration
|
||||
*
|
||||
* See IStream
|
||||
*/
|
||||
#define STREAM_SEEK_SET 0
|
||||
#define STREAM_SEEK_CUR 1
|
||||
#define STREAM_SEEK_END 2
|
||||
|
||||
/*****************************************************************************
|
||||
* IEnumSTATSTG interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IEnumSTATSTG
|
||||
#define IEnumSTATSTG_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATSTG*,rgelt, ULONG*,pceltFethed) \
|
||||
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
|
||||
ICOM_METHOD (HRESULT,Reset) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IEnumSTATSTG**,ppenum)
|
||||
#define IEnumSTATSTG_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IEnumSTATSTG_METHODS
|
||||
ICOM_DEFINE(IEnumSTATSTG,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IEnumSTATSTG_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IEnumSTATSTG_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IEnumSTATSTG_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IEnumSTATSTG methods ***/
|
||||
#define IEnumSTATSTG_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||
#define IEnumSTATSTG_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||
#define IEnumSTATSTG_Reset(p) ICOM_CALL(Reset,p)
|
||||
#define IEnumSTATSTG_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IFillLockBytes interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IFillLockBytes
|
||||
#define IFillLockBytes_METHODS \
|
||||
ICOM_METHOD3(HRESULT,FillAppend, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \
|
||||
ICOM_METHOD4(HRESULT,FillAt, ULARGE_INTEGER,ulOffset, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \
|
||||
ICOM_METHOD1(HRESULT,SetFillSize, ULARGE_INTEGER,ulSize) \
|
||||
ICOM_METHOD1(HRESULT,Terminate, BOOL,bCanceled)
|
||||
#define IFillLockBytes_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IFillLockBytes_METHODS
|
||||
ICOM_DEFINE(IFillLockBytes,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IFillLockBytes_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IFillLockBytes_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IFillLockBytes_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IFillLockBytes methods ***/
|
||||
#define IFillLockBytes_FillAppend(p,a,b,c) ICOM_CALL3(FillAppend,p,a,b,c)
|
||||
#define IFillLockBytes_FillAt(p,a,b,c,d) ICOM_CALL4(FillAt,p,a,b,c,d)
|
||||
#define IFillLockBytes_SetFillSize(p,a) ICOM_CALL1(SetFillSize,p,a)
|
||||
#define IFillLockBytes_Terminate(p,a) ICOM_CALL1(Terminate,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ILayoutStorage interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ILayoutStorage
|
||||
#define ILayoutStorage_METHODS \
|
||||
ICOM_METHOD2(HRESULT,LayoutScript, DWORD,nEntries, DWORD,glfInterleavedFlag) \
|
||||
ICOM_METHOD (HRESULT,BeginMonitor) \
|
||||
ICOM_METHOD (HRESULT,EndMonitor) \
|
||||
ICOM_METHOD1(HRESULT,ReLayoutDocfile, OLECHAR16*,pwcsNewDfName) \
|
||||
ICOM_METHOD1(HRESULT,ReLayoutDocfileOnILockBytes, ILockBytes*,pILockBytes)
|
||||
#define ILayoutStorage_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ILayoutStorage_METHODS
|
||||
ICOM_DEFINE(ILayoutStorage,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ILayoutStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ILayoutStorage_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ILayoutStorage_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ILayoutStorage methods ***/
|
||||
#define ILayoutStorage_LayoutScript(p,a,b) ICOM_CALL2(LayoutScript,p,a,b)
|
||||
#define ILayoutStorage_BeginMonitor(p) ICOM_CALL (BeginMonitor,p)
|
||||
#define ILayoutStorage_EndMonitor(p) ICOM_CALL (EndMonitor,p)
|
||||
#define ILayoutStorage_ReLayoutDocfile(p,a) ICOM_CALL1(ReLayoutDocfile,p,a)
|
||||
#define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) ICOM_CALL1(ReLayoutDocfileOnILockBytes,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ILockBytes interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ILockBytes
|
||||
#define ILockBytes_METHODS \
|
||||
ICOM_METHOD4(HRESULT,ReadAt, ULARGE_INTEGER,ulOffset, void*,pv, ULONG,cb, ULONG*,pcbRead) \
|
||||
ICOM_METHOD4(HRESULT,WriteAt, ULARGE_INTEGER,ulOffset, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \
|
||||
ICOM_METHOD (HRESULT,Flush) \
|
||||
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,cb) \
|
||||
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
|
||||
ICOM_METHOD3(HRESULT,UnlockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
|
||||
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag)
|
||||
#define ILockBytes_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ILockBytes_METHODS
|
||||
ICOM_DEFINE(ILockBytes,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ILockBytes_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ILockBytes_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ILockBytes_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ILockBytes methods ***/
|
||||
#define ILockBytes_ReadAt(p,a,b,c,d) ICOM_CALL4(ReadAt,p,a,b,c,d)
|
||||
#define ILockBytes_WriteAt(p,a,b,c,d) ICOM_CALL4(WriteAt,p,a,b,c,d)
|
||||
#define ILockBytes_Flush(p) ICOM_CALL (Flush,p)
|
||||
#define ILockBytes_SetSize(p,a) ICOM_CALL1(SetSize,p,a)
|
||||
#define ILockBytes_LockRegion(p,a,b,c) ICOM_CALL3(LockRegion,p,a,b,c)
|
||||
#define ILockBytes_UnlockRegion(p,a,b,c) ICOM_CALL3(UnlockRegion,p,a,b,c)
|
||||
#define ILockBytes_Stat(p,a,b) ICOM_CALL2(Stat,p,a,b)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IPersist interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IPersist
|
||||
#define IPersist_METHODS \
|
||||
ICOM_METHOD1(HRESULT,GetClassID, CLSID*,pClassID)
|
||||
#define IPersist_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IPersist_METHODS
|
||||
ICOM_DEFINE(IPersist,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IPersist_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IPersist_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IPersist_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IPersist methods ***/
|
||||
#define IPersist_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IPersistFile interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IPersistFile
|
||||
#define IPersistFile_METHODS \
|
||||
ICOM_METHOD (HRESULT,IsDirty) \
|
||||
ICOM_METHOD2 (HRESULT,Load, LPCOLESTR,pszFileName, DWORD,dwMode) \
|
||||
ICOM_METHOD2 (HRESULT,Save, LPCOLESTR,pszFileName, BOOL,fRemember) \
|
||||
ICOM_METHOD1 (HRESULT,SaveCompleted, LPCOLESTR,pszFileName) \
|
||||
ICOM_METHOD1(HRESULT,GetCurFile, LPOLESTR*,ppszFileName)
|
||||
#define IPersistFile_IMETHODS \
|
||||
IPersist_IMETHODS \
|
||||
IPersistFile_METHODS
|
||||
ICOM_DEFINE(IPersistFile,IPersist)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IPersistFile_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IPersistFile_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IPersistFile_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IPersist methods ***/
|
||||
#define IPersistFile_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
|
||||
/*** IPersistFile methods ***/
|
||||
#define IPersistFile_IsDirty(p) ICOM_CALL(IsDirty,p)
|
||||
#define IPersistFile_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
|
||||
#define IPersistFile_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
|
||||
#define IPersistFile_SaveCompleted(p,a) ICOM_CALL1(SaveCompleted,p,a)
|
||||
#define IPersistFile_GetCurFile(p,a) ICOM_CALL1(GetCurFile,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IPersistStorage interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IPersistStorage
|
||||
#define IPersistStorage_METHODS \
|
||||
ICOM_METHOD (HRESULT,IsDirty) \
|
||||
ICOM_METHOD1(HRESULT,InitNew, IStorage*,pStg) \
|
||||
ICOM_METHOD1(HRESULT,Load, IStorage*,pStg) \
|
||||
ICOM_METHOD2(HRESULT,Save, IStorage*,pStg, BOOL,fSameAsLoad) \
|
||||
ICOM_METHOD1(HRESULT,SaveCompleted, IStorage*,pStgNew) \
|
||||
ICOM_METHOD (HRESULT,HandsOffStorage)
|
||||
#define IPersistStorage_IMETHODS \
|
||||
IPersist_IMETHODS \
|
||||
IPersistStorage_METHODS
|
||||
ICOM_DEFINE(IPersistStorage,IPersist)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IPersistStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IPersistStorage_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IPersistStorage_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IPersist methods ***/
|
||||
#define IPersistStorage_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
|
||||
/*** IPersistStorage methods ***/
|
||||
#define IPersistStorage_IsDirty(p) ICOM_CALL (IsDirty,p)
|
||||
#define IPersistStorage_InitNew(p,a) ICOM_CALL1(InitNew,p,a)
|
||||
#define IPersistStorage_Load(p,a) ICOM_CALL1(Load,p,a)
|
||||
#define IPersistStorage_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
|
||||
#define IPersistStorage_SaveCompleted(p,a) ICOM_CALL1(SaveCompleted,p,a)
|
||||
#define IPersistStorage_HandsOffStorage(p) ICOM_CALL (HandsOffStorage,p)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IPersistStream interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IPersistStream
|
||||
#define IPersistStream_METHODS \
|
||||
ICOM_METHOD (HRESULT,IsDirty) \
|
||||
ICOM_METHOD1(HRESULT,Load, IStream*,pStm) \
|
||||
ICOM_METHOD2(HRESULT,Save, IStream*,pStm, BOOL,fClearDirty) \
|
||||
ICOM_METHOD1(HRESULT,GetSizeMax, ULARGE_INTEGER*,pcbSize)
|
||||
#define IPersistStream_IMETHODS \
|
||||
IPersist_IMETHODS \
|
||||
IPersistStream_METHODS
|
||||
ICOM_DEFINE(IPersistStream,IPersist)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IPersistStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IPersistStream_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IPersistStream_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IPersist methods ***/
|
||||
#define IPersistStream_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
|
||||
/*** IPersistStream methods ***/
|
||||
#define IPersistStream_IsDirty(p) ICOM_CALL (IsDirty,p)
|
||||
#define IPersistStream_Load(p,a) ICOM_CALL1(Load,p,a)
|
||||
#define IPersistStream_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
|
||||
#define IPersistStream_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IProgressNotify interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IProgressNotify
|
||||
#define IProgressNotify_METHODS \
|
||||
ICOM_METHOD4(HRESULT,OnProgress, DWORD,dwProgressCurrent, DWORD,dwProgressMaximum, BOOL,fAccurate, BOOL,fOwner)
|
||||
#define IProgressNotify_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IProgressNotify_METHODS
|
||||
ICOM_DEFINE(IProgressNotify,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IProgressNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IProgressNotify_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IProgressNotify_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IProgressNotify methods ***/
|
||||
#define IProgressNotify_OnProgress(p,a,b,c,d) ICOM_CALL4(OnProgress,p,a,b,c,d)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IRootStorage interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IRootStorage
|
||||
#define IRootStorage_METHODS \
|
||||
ICOM_METHOD1(HRESULT,SwitchToFile, LPOLESTR,pszFile)
|
||||
#define IRootStorage_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IRootStorage_METHODS
|
||||
ICOM_DEFINE(IRootStorage,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IRootStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IRootStorage_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IRootStorage_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IRootStorage methods ***/
|
||||
#define IRootStorage_SwitchToFile(p,a) ICOM_CALLSwitchToFile(,p,a)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* ISequentialStream interface
|
||||
*/
|
||||
#define ICOM_INTERFACE ISequentialStream
|
||||
#define ISequentialStream_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Read, void*,pv, ULONG,cb, ULONG*,pcbRead) \
|
||||
ICOM_METHOD3(HRESULT,Write, const void*,pv, ULONG,cb, ULONG*,pcbWritten)
|
||||
#define ISequentialStream_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
ISequentialStream_METHODS
|
||||
ICOM_DEFINE(ISequentialStream,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define ISequentialStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define ISequentialStream_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define ISequentialStream_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ISequentialStream methods ***/
|
||||
#define ISequentialStream_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
|
||||
#define ISequentialStream_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IStorage interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IStorage16
|
||||
#define IStorage16_METHODS \
|
||||
ICOM_METHOD5(HRESULT,CreateStream, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream16**,ppstm) \
|
||||
ICOM_METHOD5(HRESULT,OpenStream, LPCOLESTR16,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream16**,ppstm) \
|
||||
ICOM_METHOD5(HRESULT,CreateStorage, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage16**,ppstg) \
|
||||
ICOM_METHOD6(HRESULT,OpenStorage, LPCOLESTR16,pwcsName, IStorage16*,pstgPriority, DWORD,grfMode, SNB16,snb16Exclude, DWORD,reserved, IStorage16**,ppstg) \
|
||||
ICOM_METHOD4(HRESULT,CopyTo, DWORD,ciidExclude, const IID*,rgiidExclude, SNB16,snb16Exclude, IStorage16*,pstgDest) \
|
||||
ICOM_METHOD4(HRESULT,MoveElementTo, LPCOLESTR16,pwcsName, IStorage16*,pstgDest, LPCOLESTR16,pwcsNewName, DWORD,grfFlags) \
|
||||
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
|
||||
ICOM_METHOD (HRESULT,Revert) \
|
||||
ICOM_METHOD4(HRESULT,EnumElements, DWORD,reserved1, void*,reserved2, DWORD,reserved3, IEnumSTATSTG**,ppenum) \
|
||||
ICOM_METHOD1(HRESULT,DestroyElement, LPCOLESTR16,pwcsName) \
|
||||
ICOM_METHOD2(HRESULT,RenameElement, LPCOLESTR16,pwcsOldName, LPOLESTR16,pwcsNewName) \
|
||||
ICOM_METHOD4(HRESULT,SetElementTimes,LPCOLESTR16,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime) \
|
||||
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid) \
|
||||
ICOM_METHOD2(HRESULT,SetStateBits, DWORD,grfStateBits, DWORD,grfMask) \
|
||||
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag)
|
||||
#define IStorage16_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IStorage16_METHODS
|
||||
ICOM_DEFINE(IStorage16,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IStorage16_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IStorage16_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IStorage16_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IStorage16 methods ***/
|
||||
#define IStorage16_CreateStream(p,a,b,c,d,e) ICOM_CALL5(CreateStream,p,a,b,c,d,e)
|
||||
#define IStorage16_OpenStream(p,a,b,c,d,e) ICOM_CALL5(OpenStream,p,a,b,c,d,e)
|
||||
#define IStorage16_CreateStorage(p,a,b,c,d,e) ICOM_CALL5(CreateStorage,p,a,b,c,d,e)
|
||||
#define IStorage16_OpenStorage(p,a,b,c,d,e,f) ICOM_CALL6(OpenStorage,p,a,b,c,d,e,f)
|
||||
#define IStorage16_CopyTo(p,a,b,c,d) ICOM_CALL4(CopyTo,p,a,b,c,d)
|
||||
#define IStorage16_MoveElementTo(p,a,b,c,d) ICOM_CALL4(MoveElementTo,p,a,b,c,d)
|
||||
#define IStorage16_Commit(p,a) ICOM_CALL1(Commit,p,a)
|
||||
#define IStorage16_Revert(p) ICOM_CALL (Revert,p)
|
||||
#define IStorage16_EnumElements(p,a,b,c,d) ICOM_CALL4(EnumElements,p,a,b,c,d)
|
||||
#define IStorage16_DestroyElement(p,a) ICOM_CALL1(DestroyElement,p,a)
|
||||
#define IStorage16_RenameElement(p,a,b) ICOM_CALL2(RenameElement,p,a,b)
|
||||
#define IStorage16_SetElementTimes(p,a,b,c,d) ICOM_CALL4(SetElementTimes,p,a,b,c,d)
|
||||
#define IStorage16_SetClass(p,a) ICOM_CALL1(SetClass,p,a)
|
||||
#define IStorage16_SetStateBits(p,a,b) ICOM_CALL2(SetStateBits,p,a,b)
|
||||
#define IStorage16_Stat(p,a,b) ICOM_CALL2(Stat,p,a,b)
|
||||
|
||||
|
||||
#define ICOM_INTERFACE IStorage
|
||||
#define IStorage_METHODS \
|
||||
ICOM_METHOD5(HRESULT,CreateStream, LPCOLESTR,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream**,ppstm) \
|
||||
ICOM_METHOD5(HRESULT,OpenStream, LPCOLESTR,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream**,ppstm) \
|
||||
ICOM_METHOD5(HRESULT,CreateStorage, LPCOLESTR,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage**,ppstg) \
|
||||
ICOM_METHOD6(HRESULT,OpenStorage, LPCOLESTR,pwcsName, IStorage*,pstgPriority, DWORD,grfMode, SNB,snb16Exclude, DWORD,reserved, IStorage**,ppstg) \
|
||||
ICOM_METHOD4(HRESULT,CopyTo, DWORD,ciidExclude, const IID*,rgiidExclude, SNB,snb16Exclude, IStorage*,pstgDest) \
|
||||
ICOM_METHOD4(HRESULT,MoveElementTo, LPCOLESTR,pwcsName, IStorage*,pstgDest, LPCOLESTR,pwcsNewName, DWORD,grfFlags) \
|
||||
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
|
||||
ICOM_METHOD (HRESULT,Revert) \
|
||||
ICOM_METHOD4(HRESULT,EnumElements, DWORD,reserved1, void*,reserved2, DWORD,reserved3, IEnumSTATSTG**,ppenum) \
|
||||
ICOM_METHOD1(HRESULT,DestroyElement, LPCOLESTR,pwcsName) \
|
||||
ICOM_METHOD2(HRESULT,RenameElement, LPCOLESTR,pwcsOldName, LPCOLESTR,pwcsNewName) \
|
||||
ICOM_METHOD4(HRESULT,SetElementTimes,LPCOLESTR,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime) \
|
||||
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid) \
|
||||
ICOM_METHOD2(HRESULT,SetStateBits, DWORD,grfStateBits, DWORD,grfMask) \
|
||||
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag)
|
||||
#define IStorage_IMETHODS \
|
||||
IUnknown_IMETHODS \
|
||||
IStorage_METHODS
|
||||
ICOM_DEFINE(IStorage,IUnknown)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IStorage_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IStorage_Release(p) ICOM_CALL (Release,p)
|
||||
/*** IStorage methods ***/
|
||||
#define IStorage_CreateStream(p,a,b,c,d,e) ICOM_CALL5(CreateStream,p,a,b,c,d,e)
|
||||
#define IStorage_OpenStream(p,a,b,c,d,e) ICOM_CALL5(OpenStream,p,a,b,c,d,e)
|
||||
#define IStorage_CreateStorage(p,a,b,c,d,e) ICOM_CALL5(CreateStorage,p,a,b,c,d,e)
|
||||
#define IStorage_OpenStorage(p,a,b,c,d,e,f) ICOM_CALL6(OpenStorage,p,a,b,c,d,e,f)
|
||||
#define IStorage_CopyTo(p,a,b,c,d) ICOM_CALL4(CopyTo,p,a,b,c,d)
|
||||
#define IStorage_MoveElementTo(p,a,b,c,d) ICOM_CALL4(MoveElementTo,p,a,b,c,d)
|
||||
#define IStorage_Commit(p,a) ICOM_CALL1(Commit,p,a)
|
||||
#define IStorage_Revert(p) ICOM_CALL (Revert,p)
|
||||
#define IStorage_EnumElements(p,a,b,c,d) ICOM_CALL4(EnumElements,p,a,b,c,d)
|
||||
#define IStorage_DestroyElement(p,a) ICOM_CALL1(DestroyElement,p,a)
|
||||
#define IStorage_RenameElement(p,a,b) ICOM_CALL2(RenameElement,p,a,b)
|
||||
#define IStorage_SetElementTimes(p,a,b,c,d) ICOM_CALL4(SetElementTimes,p,a,b,c,d)
|
||||
#define IStorage_SetClass(p,a) ICOM_CALL1(SetClass,p,a)
|
||||
#define IStorage_SetStateBits(p,a,b) ICOM_CALL2(SetStateBits,p,a,b)
|
||||
#define IStorage_Stat(p,a,b) ICOM_CALL2(Stat,p,a,b)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IStream interface
|
||||
*/
|
||||
#define ICOM_INTERFACE IStream16
|
||||
#define IStream16_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Seek, LARGE_INTEGER,dlibMove, DWORD,dwOrigin, ULARGE_INTEGER*,plibNewPosition) \
|
||||
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,libNewSize) \
|
||||
ICOM_METHOD4(HRESULT,CopyTo, IStream16*,pstm, ULARGE_INTEGER,cb, ULARGE_INTEGER*,pcbRead, ULARGE_INTEGER*,pcbWritten) \
|
||||
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
|
||||
ICOM_METHOD (HRESULT,Revert) \
|
||||
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
|
||||
ICOM_METHOD3(HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
|
||||
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IStream16**,ppstm)
|
||||
#define IStream16_IMETHODS \
|
||||
ISequentialStream_IMETHODS \
|
||||
IStream16_METHODS
|
||||
ICOM_DEFINE(IStream16,ISequentialStream)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IStream16_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IStream16_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IStream16_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ISequentialStream methods ***/
|
||||
#define IStream16_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
|
||||
#define IStream16_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
|
||||
/*** IStream16 methods ***/
|
||||
#define IStream16_Seek(p) ICOM_CALL3(Seek,p)
|
||||
#define IStream16_SetSize(p,a,b) ICOM_CALL1(SetSize,p,a,b)
|
||||
#define IStream16_CopyTo(pa,b,c,d) ICOM_CALL4(CopyTo,pa,b,c,d)
|
||||
#define IStream16_Commit(p,a) ICOM_CALL1(Commit,p,a)
|
||||
#define IStream16_Revert(p) ICOM_CALL (Revert,p)
|
||||
#define IStream16_LockRegion(pa,b,c) ICOM_CALL3(LockRegion,pa,b,c)
|
||||
#define IStream16_UnlockRegion(p,a,b,c) ICOM_CALL3(UnlockRegion,p,a,b,c)
|
||||
#define IStream16_Stat(p,a,b) ICOM_CALL2(Stat,p,a,b)
|
||||
#define IStream16_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
#define ICOM_INTERFACE IStream
|
||||
#define IStream_METHODS \
|
||||
ICOM_METHOD3(HRESULT,Seek, LARGE_INTEGER,dlibMove, DWORD,dwOrigin, ULARGE_INTEGER*,plibNewPosition) \
|
||||
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,libNewSize) \
|
||||
ICOM_METHOD4(HRESULT,CopyTo, IStream*,pstm, ULARGE_INTEGER,cb, ULARGE_INTEGER*,pcbRead, ULARGE_INTEGER*,pcbWritten) \
|
||||
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
|
||||
ICOM_METHOD (HRESULT,Revert) \
|
||||
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
|
||||
ICOM_METHOD3(HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
|
||||
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag) \
|
||||
ICOM_METHOD1(HRESULT,Clone, IStream**,ppstm)
|
||||
#define IStream_IMETHODS \
|
||||
ISequentialStream_IMETHODS \
|
||||
IStream_METHODS
|
||||
ICOM_DEFINE(IStream,ISequentialStream)
|
||||
#undef ICOM_INTERFACE
|
||||
|
||||
/*** IUnknown methods ***/
|
||||
#define IStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||
#define IStream_AddRef(p) ICOM_CALL (AddRef,p)
|
||||
#define IStream_Release(p) ICOM_CALL (Release,p)
|
||||
/*** ISequentialStream methods ***/
|
||||
#define IStream_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
|
||||
#define IStream_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
|
||||
/*** IStream methods ***/
|
||||
#define IStream_Seek(p,a,b,c) ICOM_CALL3(Seek,p,a,b,c)
|
||||
#define IStream_SetSize(p,a) ICOM_CALL1(SetSize,p,a)
|
||||
#define IStream_CopyTo(p,a,b,c,d) ICOM_CALL4(CopyTo,p,a,b,c,d)
|
||||
#define IStream_Commit(p,a) ICOM_CALL1(Commit,p,a)
|
||||
#define IStream_Revert(p) ICOM_CALL (Revert,p)
|
||||
#define IStream_LockRegion(p,a,b,c) ICOM_CALL3(LockRegion,p,a,b,c)
|
||||
#define IStream_UnlockRegion(p,a,b,c) ICOM_CALL3(UnlockRegion,p,a,b,c)
|
||||
#define IStream_Stat(p,a,b) ICOM_CALL2(Stat,p,a,b)
|
||||
#define IStream_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* defined(__cplusplus) */
|
||||
|
||||
#endif /* __WINE_WINE_OBJ_STORAGE_H */
|
Loading…
Reference in New Issue