Sync to Wine-20040813:

Alexandre Julliard
- Moved ICOM_THIS_MULTI definition out of objbase.h and into the files
  that use it.
- Get rid of the non-standard ICOM_VTABLE macro.
- Get rid of the non-standard ICOM_VFIELD macro.

svn path=/trunk/; revision=10537
This commit is contained in:
Gé van Geldorp 2004-08-14 20:09:12 +00:00
parent 40d3ca1e0b
commit 86eb12c5fc
3 changed files with 8 additions and 6 deletions

View file

@ -41,7 +41,7 @@ struct StublessThunk;
/* I don't know what MS's std proxy structure looks like,
so this probably doesn't match, but that shouldn't matter */
typedef struct {
ICOM_VTABLE(IRpcProxyBuffer) *lpVtbl;
IRpcProxyBufferVtbl *lpVtbl;
LPVOID *PVtbl;
DWORD RefCount;
const MIDL_STUBLESS_PROXY_INFO *stubless;
@ -53,7 +53,9 @@ typedef struct {
struct StublessThunk *thunks;
} StdProxyImpl;
static ICOM_VTABLE(IRpcProxyBuffer) StdProxy_Vtbl;
static IRpcProxyBufferVtbl StdProxy_Vtbl;
#define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
/* How the Windows stubless proxy thunks work is explained at
* http://msdn.microsoft.com/library/en-us/dnmsj99/html/com0199.asp,
@ -265,7 +267,7 @@ static VOID WINAPI StdProxy_Disconnect(LPRPCPROXYBUFFER iface)
This->pChannel = NULL;
}
static ICOM_VTABLE(IRpcProxyBuffer) StdProxy_Vtbl =
static IRpcProxyBufferVtbl StdProxy_Vtbl =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
StdProxy_QueryInterface,

View file

@ -114,7 +114,7 @@ static HRESULT WINAPI CStdPSFactory_CreateStub(LPPSFACTORYBUFFER iface,
ProxyInfo->pStubVtblList[Index], iface, ppStub);
}
static ICOM_VTABLE(IPSFactoryBuffer) CStdPSFactory_Vtbl =
static IPSFactoryBufferVtbl CStdPSFactory_Vtbl =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
CStdPSFactory_QueryInterface,

View file

@ -77,7 +77,7 @@ static HMODULE LoadCOM(void)
* (which also implements the MInterfacePointer structure) */
typedef struct RpcStreamImpl
{
ICOM_VFIELD(IStream);
IStreamVtbl *lpVtbl;
DWORD RefCount;
PMIDL_STUB_MESSAGE pMsg;
LPDWORD size;
@ -180,7 +180,7 @@ static HRESULT WINAPI RpcStream_SetSize(LPSTREAM iface,
return S_OK;
}
static ICOM_VTABLE(IStream) RpcStream_Vtbl =
static IStreamVtbl RpcStream_Vtbl =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
RpcStream_QueryInterface,