Microsoft com vtable compatibility workaround for g++. Basically adds

an optional 8 bytes padding to COM objects where the RTTI would be.
This commit is contained in:
Paul Quinn 1999-05-22 11:41:38 +00:00 committed by Alexandre Julliard
parent ddca315388
commit 2305f3c06d
36 changed files with 277 additions and 280 deletions

View File

@ -152,6 +152,7 @@ static HRESULT WINAPI IAVIFile_fnDeleteStream(IAVIFile*iface,DWORD fccType,LONG
} }
struct ICOM_VTABLE(IAVIFile) iavift = { struct ICOM_VTABLE(IAVIFile) iavift = {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IAVIFile_fnQueryInterface, IAVIFile_fnQueryInterface,
IAVIFile_fnAddRef, IAVIFile_fnAddRef,
IAVIFile_fnRelease, IAVIFile_fnRelease,
@ -330,6 +331,7 @@ HRESULT WINAPI IAVIStream_fnSetInfo(IAVIStream*iface,AVISTREAMINFOW*info,LONG in
} }
struct ICOM_VTABLE(IAVIStream) iavist = { struct ICOM_VTABLE(IAVIStream) iavist = {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IAVIStream_fnQueryInterface, IAVIStream_fnQueryInterface,
IAVIStream_fnAddRef, IAVIStream_fnAddRef,
IAVIStream_fnRelease, IAVIStream_fnRelease,

View File

@ -455,6 +455,7 @@ static HRESULT WINAPI IContextMenu_fnHandleMenuMsg(
*/ */
static struct ICOM_VTABLE(IContextMenu) cmvt = static struct ICOM_VTABLE(IContextMenu) cmvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IContextMenu_fnQueryInterface, IContextMenu_fnQueryInterface,
IContextMenu_fnAddRef, IContextMenu_fnAddRef,
IContextMenu_fnRelease, IContextMenu_fnRelease,

View File

@ -43,6 +43,7 @@ static HRESULT WINAPI IEnumFORMATETC_fnClone(LPENUMFORMATETC iface, LPENUMFORMAT
static struct ICOM_VTABLE(IEnumFORMATETC) efvt = static struct ICOM_VTABLE(IEnumFORMATETC) efvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IEnumFORMATETC_fnQueryInterface, IEnumFORMATETC_fnQueryInterface,
IEnumFORMATETC_fnAddRef, IEnumFORMATETC_fnAddRef,
IEnumFORMATETC_fnRelease, IEnumFORMATETC_fnRelease,
@ -363,6 +364,7 @@ static HRESULT WINAPI IDataObject_fnEnumDAdvise(LPDATAOBJECT iface, IEnumSTATDAT
static struct ICOM_VTABLE(IDataObject) dtovt = static struct ICOM_VTABLE(IDataObject) dtovt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDataObject_fnQueryInterface, IDataObject_fnQueryInterface,
IDataObject_fnAddRef, IDataObject_fnAddRef,
IDataObject_fnRelease, IDataObject_fnRelease,

View File

@ -401,7 +401,9 @@ static BOOL WINAPI IEnumIDList_fnDeleteList(
* IEnumIDList_fnVTable * IEnumIDList_fnVTable
*/ */
static ICOM_VTABLE (IEnumIDList) eidlvt = static ICOM_VTABLE (IEnumIDList) eidlvt =
{ IEnumIDList_fnQueryInterface, {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IEnumIDList_fnQueryInterface,
IEnumIDList_fnAddRef, IEnumIDList_fnAddRef,
IEnumIDList_fnRelease, IEnumIDList_fnRelease,
IEnumIDList_fnNext, IEnumIDList_fnNext,

View File

@ -217,7 +217,9 @@ static HRESULT WINAPI IExtractIconA_fnExtract(IExtractIconA * iface, LPCSTR pszF
} }
static struct ICOM_VTABLE(IExtractIconA) eivt = static struct ICOM_VTABLE(IExtractIconA) eivt =
{ IExtractIconA_fnQueryInterface, {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IExtractIconA_fnQueryInterface,
IExtractIconA_fnAddRef, IExtractIconA_fnAddRef,
IExtractIconA_fnRelease, IExtractIconA_fnRelease,
IExtractIconA_fnGetIconLocation, IExtractIconA_fnGetIconLocation,
@ -289,6 +291,7 @@ static HRESULT WINAPI IEIPersistFile_fnLoad(IPersistFile* iface, LPCOLESTR pszFi
static struct ICOM_VTABLE(IPersistFile) pfvt = static struct ICOM_VTABLE(IPersistFile) pfvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IEIPersistFile_fnQueryInterface, IEIPersistFile_fnQueryInterface,
IEIPersistFile_fnAddRef, IEIPersistFile_fnAddRef,
IEIPersistFile_fnRelease, IEIPersistFile_fnRelease,

View File

@ -249,6 +249,7 @@ HRESULT WINAPI IStream_fnClone (IStream * iface, IStream** ppstm)
static struct ICOM_VTABLE(IStream) rstvt = static struct ICOM_VTABLE(IStream) rstvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IStream_fnQueryInterface, IStream_fnQueryInterface,
IStream_fnAddRef, IStream_fnAddRef,
IStream_fnRelease, IStream_fnRelease,

View File

@ -246,6 +246,7 @@ static HRESULT WINAPI IPersistFile_fnGetCurFile(const IPersistFile* iface, LPOLE
static struct ICOM_VTABLE(IPersistFile) pfvt = static struct ICOM_VTABLE(IPersistFile) pfvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IPersistFile_fnQueryInterface, IPersistFile_fnQueryInterface,
IPersistFile_fnAddRef, IPersistFile_fnAddRef,
IPersistFile_fnRelease, IPersistFile_fnRelease,
@ -389,6 +390,7 @@ static HRESULT WINAPI IShellLink_CF_LockServer(IClassFactory* iface, BOOL fLock)
} }
static ICOM_VTABLE(IClassFactory) slcfvt = static ICOM_VTABLE(IClassFactory) slcfvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IShellLink_CF_QueryInterface, IShellLink_CF_QueryInterface,
IShellLink_CF_AddRef, IShellLink_CF_AddRef,
IShellLink_CF_Release, IShellLink_CF_Release,
@ -636,7 +638,9 @@ static HRESULT WINAPI IShellLink_fnSetPath(IShellLink * iface, LPCSTR pszFile)
*/ */
static ICOM_VTABLE(IShellLink) slvt = static ICOM_VTABLE(IShellLink) slvt =
{ IShellLink_fnQueryInterface, {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IShellLink_fnQueryInterface,
IShellLink_fnAddRef, IShellLink_fnAddRef,
IShellLink_fnRelease, IShellLink_fnRelease,
IShellLink_fnGetPath, IShellLink_fnGetPath,
@ -786,6 +790,7 @@ static HRESULT WINAPI IShellLinkW_CF_LockServer(LPCLASSFACTORY iface, BOOL fLock
static ICOM_VTABLE(IClassFactory) slwcfvt = static ICOM_VTABLE(IClassFactory) slwcfvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IShellLinkW_CF_QueryInterface, IShellLinkW_CF_QueryInterface,
IShellLinkW_CF_AddRef, IShellLinkW_CF_AddRef,
IShellLinkW_CF_Release, IShellLinkW_CF_Release,
@ -1049,7 +1054,9 @@ static HRESULT WINAPI IShellLinkW_fnSetPath(IShellLinkW * iface, LPCWSTR pszFile
*/ */
static ICOM_VTABLE(IShellLinkW) slvtw = static ICOM_VTABLE(IShellLinkW) slvtw =
{ IShellLinkW_fnQueryInterface, {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IShellLinkW_fnQueryInterface,
IShellLinkW_fnAddRef, IShellLinkW_fnAddRef,
IShellLinkW_fnRelease, IShellLinkW_fnRelease,
IShellLinkW_fnGetPath, IShellLinkW_fnGetPath,

View File

@ -371,6 +371,7 @@ static HRESULT WINAPI IClassFactory_fnLockServer(LPCLASSFACTORY iface, BOOL fLoc
static ICOM_VTABLE(IClassFactory) clfvt = static ICOM_VTABLE(IClassFactory) clfvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IClassFactory_fnQueryInterface, IClassFactory_fnQueryInterface,
IClassFactory_fnAddRef, IClassFactory_fnAddRef,
IClassFactory_fnRelease, IClassFactory_fnRelease,

View File

@ -167,6 +167,7 @@ static HRESULT WINAPI ISFDropTarget_Drop(
static struct ICOM_VTABLE(IDropTarget) dtvt = static struct ICOM_VTABLE(IDropTarget) dtvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ISFDropTarget_QueryInterface, ISFDropTarget_QueryInterface,
ISFDropTarget_AddRef, ISFDropTarget_AddRef,
ISFDropTarget_Release, ISFDropTarget_Release,
@ -965,7 +966,9 @@ static HRESULT WINAPI IShellFolder_fnGetFolderPath(IShellFolder * iface, LPSTR l
} }
static ICOM_VTABLE(IShellFolder) sfvt = static ICOM_VTABLE(IShellFolder) sfvt =
{ IShellFolder_fnQueryInterface, {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IShellFolder_fnQueryInterface,
IShellFolder_fnAddRef, IShellFolder_fnAddRef,
IShellFolder_fnRelease, IShellFolder_fnRelease,
IShellFolder_fnParseDisplayName, IShellFolder_fnParseDisplayName,
@ -1067,6 +1070,7 @@ static HRESULT WINAPI ISFPersistFolder_Initialize(
static ICOM_VTABLE(IPersistFolder) psfvt = static ICOM_VTABLE(IPersistFolder) psfvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ISFPersistFolder_QueryInterface, ISFPersistFolder_QueryInterface,
ISFPersistFolder_AddRef, ISFPersistFolder_AddRef,
ISFPersistFolder_Release, ISFPersistFolder_Release,

View File

@ -1507,7 +1507,9 @@ static HRESULT WINAPI IShellView_fnGetItemObject(IShellView * iface, UINT uItem,
} }
static struct ICOM_VTABLE(IShellView) svvt = static struct ICOM_VTABLE(IShellView) svvt =
{ IShellView_fnQueryInterface, {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IShellView_fnQueryInterface,
IShellView_fnAddRef, IShellView_fnAddRef,
IShellView_fnRelease, IShellView_fnRelease,
IShellView_fnGetWindow, IShellView_fnGetWindow,
@ -1596,6 +1598,7 @@ static HRESULT WINAPI ISVOleCmdTarget_Exec(
static ICOM_VTABLE(IOleCommandTarget) ctvt = static ICOM_VTABLE(IOleCommandTarget) ctvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ISVOleCmdTarget_QueryInterface, ISVOleCmdTarget_QueryInterface,
ISVOleCmdTarget_AddRef, ISVOleCmdTarget_AddRef,
ISVOleCmdTarget_Release, ISVOleCmdTarget_Release,
@ -1695,6 +1698,7 @@ static HRESULT WINAPI ISVDropTarget_Drop(
static struct ICOM_VTABLE(IDropTarget) dtvt = static struct ICOM_VTABLE(IDropTarget) dtvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ISVDropTarget_QueryInterface, ISVDropTarget_QueryInterface,
ISVDropTarget_AddRef, ISVDropTarget_AddRef,
ISVDropTarget_Release, ISVDropTarget_Release,
@ -1833,6 +1837,7 @@ static HRESULT WINAPI ISVViewObject_GetAdvise(
static struct ICOM_VTABLE(IViewObject) vovt = static struct ICOM_VTABLE(IViewObject) vovt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ISVViewObject_QueryInterface, ISVViewObject_QueryInterface,
ISVViewObject_AddRef, ISVViewObject_AddRef,
ISVViewObject_Release, ISVViewObject_Release,

View File

@ -1157,7 +1157,9 @@ static HRESULT WINAPI IDirect3DDevice2Impl_GetClipStatus(LPDIRECT3DDEVICE2 iface
* OpenGL-specific VTable * OpenGL-specific VTable
*/ */
static ICOM_VTABLE(IDirect3DDevice2) OpenGL_vtable = { static ICOM_VTABLE(IDirect3DDevice2) OpenGL_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirect3DDevice2Impl_QueryInterface, IDirect3DDevice2Impl_QueryInterface,
IDirect3DDevice2Impl_AddRef, IDirect3DDevice2Impl_AddRef,
IDirect3DDevice2Impl_Release, IDirect3DDevice2Impl_Release,
@ -1674,7 +1676,9 @@ static HRESULT WINAPI IDirect3DDeviceImpl_GetDirect3D(LPDIRECT3DDEVICE iface,
/******************************************************************************* /*******************************************************************************
* Direct3DDevice VTable * Direct3DDevice VTable
*/ */
static ICOM_VTABLE(IDirect3DDevice) OpenGL_vtable_dx3 = { static ICOM_VTABLE(IDirect3DDevice) OpenGL_vtable_dx3 =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirect3DDeviceImpl_QueryInterface, IDirect3DDeviceImpl_QueryInterface,
IDirect3DDeviceImpl_AddRef, IDirect3DDeviceImpl_AddRef,
IDirect3DDeviceImpl_Release, IDirect3DDeviceImpl_Release,

View File

@ -843,7 +843,9 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Optimize(LPDIRECT3DEXECUTEBUFFE
/******************************************************************************* /*******************************************************************************
* IDirect3DLight VTable * IDirect3DLight VTable
*/ */
static ICOM_VTABLE(IDirect3DExecuteBuffer) executebuffer_vtable = { static ICOM_VTABLE(IDirect3DExecuteBuffer) executebuffer_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
IDirect3DExecuteBufferImpl_QueryInterface, IDirect3DExecuteBufferImpl_QueryInterface,
IDirect3DExecuteBufferImpl_AddRef, IDirect3DExecuteBufferImpl_AddRef,

View File

@ -244,7 +244,9 @@ static HRESULT WINAPI IDirect3DLightImpl_Initialize(LPDIRECT3DLIGHT iface,
/******************************************************************************* /*******************************************************************************
* IDirect3DLight VTable * IDirect3DLight VTable
*/ */
static ICOM_VTABLE(IDirect3DLight) light_vtable = { static ICOM_VTABLE(IDirect3DLight) light_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
IDirect3DLightImpl_QueryInterface, IDirect3DLightImpl_QueryInterface,
IDirect3DLightImpl_AddRef, IDirect3DLightImpl_AddRef,

View File

@ -220,7 +220,9 @@ static HRESULT WINAPI IDirect3DMaterialImpl_Initialize(LPDIRECT3DMATERIAL iface,
/******************************************************************************* /*******************************************************************************
* IDirect3DMaterial VTable * IDirect3DMaterial VTable
*/ */
static ICOM_VTABLE(IDirect3DMaterial) material_vtable = { static ICOM_VTABLE(IDirect3DMaterial) material_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
IDirect3DMaterial2Impl_QueryInterface, IDirect3DMaterial2Impl_QueryInterface,
IDirect3DMaterial2Impl_AddRef, IDirect3DMaterial2Impl_AddRef,
@ -238,7 +240,9 @@ static ICOM_VTABLE(IDirect3DMaterial) material_vtable = {
/******************************************************************************* /*******************************************************************************
* IDirect3DMaterial2 VTable * IDirect3DMaterial2 VTable
*/ */
static ICOM_VTABLE(IDirect3DMaterial2) material2_vtable = { static ICOM_VTABLE(IDirect3DMaterial2) material2_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
IDirect3DMaterial2Impl_QueryInterface, IDirect3DMaterial2Impl_QueryInterface,
IDirect3DMaterial2Impl_AddRef, IDirect3DMaterial2Impl_AddRef,

View File

@ -528,7 +528,9 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
/******************************************************************************* /*******************************************************************************
* IDirect3DTexture2 VTable * IDirect3DTexture2 VTable
*/ */
static ICOM_VTABLE(IDirect3DTexture2) texture2_vtable = { static ICOM_VTABLE(IDirect3DTexture2) texture2_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
IDirect3DTexture2Impl_QueryInterface, IDirect3DTexture2Impl_QueryInterface,
IDirect3DTexture2Impl_AddRef, IDirect3DTexture2Impl_AddRef,
@ -542,7 +544,9 @@ static ICOM_VTABLE(IDirect3DTexture2) texture2_vtable = {
/******************************************************************************* /*******************************************************************************
* IDirect3DTexture VTable * IDirect3DTexture VTable
*/ */
static ICOM_VTABLE(IDirect3DTexture) texture_vtable = { static ICOM_VTABLE(IDirect3DTexture) texture_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
IDirect3DTexture2Impl_QueryInterface, IDirect3DTexture2Impl_QueryInterface,
IDirect3DTexture2Impl_AddRef, IDirect3DTexture2Impl_AddRef,

View File

@ -348,7 +348,9 @@ static HRESULT WINAPI IDirect3DViewport2Impl_SetViewport2(LPDIRECT3DVIEWPORT2 if
/******************************************************************************* /*******************************************************************************
* IDirect3DViewport1/2 VTable * IDirect3DViewport1/2 VTable
*/ */
static ICOM_VTABLE(IDirect3DViewport2) viewport2_vtable = { static ICOM_VTABLE(IDirect3DViewport2) viewport2_vtable =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
IDirect3DViewport2Impl_QueryInterface, IDirect3DViewport2Impl_QueryInterface,
IDirect3DViewport2Impl_AddRef, IDirect3DViewport2Impl_AddRef,

View File

@ -1791,7 +1791,9 @@ static HRESULT WINAPI IDirectDrawSurface4Impl_ChangeUniquenessValue(LPDIRECTDRAW
return DD_OK; return DD_OK;
} }
static ICOM_VTABLE(IDirectDrawSurface4) dga_dds4vt = { static ICOM_VTABLE(IDirectDrawSurface4) dga_dds4vt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectDrawSurface4Impl_QueryInterface, IDirectDrawSurface4Impl_QueryInterface,
IDirectDrawSurface4Impl_AddRef, IDirectDrawSurface4Impl_AddRef,
DGA_IDirectDrawSurface4Impl_Release, DGA_IDirectDrawSurface4Impl_Release,
@ -1839,7 +1841,9 @@ static ICOM_VTABLE(IDirectDrawSurface4) dga_dds4vt = {
IDirectDrawSurface4Impl_ChangeUniquenessValue IDirectDrawSurface4Impl_ChangeUniquenessValue
}; };
static ICOM_VTABLE(IDirectDrawSurface4) xlib_dds4vt = { static ICOM_VTABLE(IDirectDrawSurface4) xlib_dds4vt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectDrawSurface4Impl_QueryInterface, IDirectDrawSurface4Impl_QueryInterface,
IDirectDrawSurface4Impl_AddRef, IDirectDrawSurface4Impl_AddRef,
Xlib_IDirectDrawSurface4Impl_Release, Xlib_IDirectDrawSurface4Impl_Release,
@ -1988,7 +1992,9 @@ static HRESULT WINAPI IDirectDrawClipperImpl_IsClipListChanged(
return DD_OK; return DD_OK;
} }
static ICOM_VTABLE(IDirectDrawClipper) ddclipvt = { static ICOM_VTABLE(IDirectDrawClipper) ddclipvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectDrawClipperImpl_QueryInterface, IDirectDrawClipperImpl_QueryInterface,
IDirectDrawClipperImpl_AddRef, IDirectDrawClipperImpl_AddRef,
IDirectDrawClipperImpl_Release, IDirectDrawClipperImpl_Release,
@ -2155,7 +2161,9 @@ static HRESULT WINAPI IDirectDrawPaletteImpl_QueryInterface(
return S_OK; return S_OK;
} }
static ICOM_VTABLE(IDirectDrawPalette) dga_ddpalvt = { static ICOM_VTABLE(IDirectDrawPalette) dga_ddpalvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectDrawPaletteImpl_QueryInterface, IDirectDrawPaletteImpl_QueryInterface,
IDirectDrawPaletteImpl_AddRef, IDirectDrawPaletteImpl_AddRef,
IDirectDrawPaletteImpl_Release, IDirectDrawPaletteImpl_Release,
@ -2165,7 +2173,9 @@ static ICOM_VTABLE(IDirectDrawPalette) dga_ddpalvt = {
DGA_IDirectDrawPaletteImpl_SetEntries DGA_IDirectDrawPaletteImpl_SetEntries
}; };
static ICOM_VTABLE(IDirectDrawPalette) xlib_ddpalvt = { static ICOM_VTABLE(IDirectDrawPalette) xlib_ddpalvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectDrawPaletteImpl_QueryInterface, IDirectDrawPaletteImpl_QueryInterface,
IDirectDrawPaletteImpl_AddRef, IDirectDrawPaletteImpl_AddRef,
IDirectDrawPaletteImpl_Release, IDirectDrawPaletteImpl_Release,
@ -2319,7 +2329,9 @@ static HRESULT WINAPI IDirect3DImpl_FindDevice(LPDIRECT3D iface,
return DD_OK; return DD_OK;
} }
static ICOM_VTABLE(IDirect3D) d3dvt = { static ICOM_VTABLE(IDirect3D) d3dvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirect3DImpl_QueryInterface, IDirect3DImpl_QueryInterface,
IDirect3DImpl_AddRef, IDirect3DImpl_AddRef,
IDirect3DImpl_Release, IDirect3DImpl_Release,
@ -2480,7 +2492,9 @@ static HRESULT WINAPI IDirect3D2Impl_CreateDevice(LPDIRECT3D2 iface,
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
} }
static ICOM_VTABLE(IDirect3D2) d3d2vt = { static ICOM_VTABLE(IDirect3D2) d3d2vt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirect3D2Impl_QueryInterface, IDirect3D2Impl_QueryInterface,
IDirect3D2Impl_AddRef, IDirect3D2Impl_AddRef,
IDirect3D2Impl_Release, IDirect3D2Impl_Release,
@ -4098,7 +4112,9 @@ static HRESULT WINAPI IDirectDraw2Impl_Initialize(LPDIRECTDRAW2 iface,
# define XCAST(fun) (void *) # define XCAST(fun) (void *)
#endif #endif
static ICOM_VTABLE(IDirectDraw) dga_ddvt = { static ICOM_VTABLE(IDirectDraw) dga_ddvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
XCAST(QueryInterface)DGA_IDirectDraw2Impl_QueryInterface, XCAST(QueryInterface)DGA_IDirectDraw2Impl_QueryInterface,
XCAST(AddRef)IDirectDraw2Impl_AddRef, XCAST(AddRef)IDirectDraw2Impl_AddRef,
XCAST(Release)DGA_IDirectDraw2Impl_Release, XCAST(Release)DGA_IDirectDraw2Impl_Release,
@ -4124,7 +4140,9 @@ static ICOM_VTABLE(IDirectDraw) dga_ddvt = {
XCAST(WaitForVerticalBlank)IDirectDraw2Impl_WaitForVerticalBlank, XCAST(WaitForVerticalBlank)IDirectDraw2Impl_WaitForVerticalBlank,
}; };
static ICOM_VTABLE(IDirectDraw) xlib_ddvt = { static ICOM_VTABLE(IDirectDraw) xlib_ddvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
XCAST(QueryInterface)Xlib_IDirectDraw2Impl_QueryInterface, XCAST(QueryInterface)Xlib_IDirectDraw2Impl_QueryInterface,
XCAST(AddRef)IDirectDraw2Impl_AddRef, XCAST(AddRef)IDirectDraw2Impl_AddRef,
XCAST(Release)Xlib_IDirectDraw2Impl_Release, XCAST(Release)Xlib_IDirectDraw2Impl_Release,
@ -4194,7 +4212,9 @@ static HRESULT WINAPI Xlib_IDirectDraw2Impl_GetAvailableVidMem(
return DD_OK; return DD_OK;
} }
static ICOM_VTABLE(IDirectDraw2) dga_dd2vt = { static ICOM_VTABLE(IDirectDraw2) dga_dd2vt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DGA_IDirectDraw2Impl_QueryInterface, DGA_IDirectDraw2Impl_QueryInterface,
IDirectDraw2Impl_AddRef, IDirectDraw2Impl_AddRef,
DGA_IDirectDraw2Impl_Release, DGA_IDirectDraw2Impl_Release,
@ -4221,7 +4241,9 @@ static ICOM_VTABLE(IDirectDraw2) dga_dd2vt = {
DGA_IDirectDraw2Impl_GetAvailableVidMem DGA_IDirectDraw2Impl_GetAvailableVidMem
}; };
static ICOM_VTABLE(IDirectDraw2) xlib_dd2vt = { static ICOM_VTABLE(IDirectDraw2) xlib_dd2vt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
Xlib_IDirectDraw2Impl_QueryInterface, Xlib_IDirectDraw2Impl_QueryInterface,
IDirectDraw2Impl_AddRef, IDirectDraw2Impl_AddRef,
Xlib_IDirectDraw2Impl_Release, Xlib_IDirectDraw2Impl_Release,
@ -4292,7 +4314,9 @@ static HRESULT WINAPI IDirectDraw4Impl_GetDeviceIdentifier(LPDIRECTDRAW4 iface,
#endif #endif
static ICOM_VTABLE(IDirectDraw4) dga_dd4vt = { static ICOM_VTABLE(IDirectDraw4) dga_dd4vt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
XCAST(QueryInterface)DGA_IDirectDraw2Impl_QueryInterface, XCAST(QueryInterface)DGA_IDirectDraw2Impl_QueryInterface,
XCAST(AddRef)IDirectDraw2Impl_AddRef, XCAST(AddRef)IDirectDraw2Impl_AddRef,
XCAST(Release)DGA_IDirectDraw2Impl_Release, XCAST(Release)DGA_IDirectDraw2Impl_Release,
@ -4323,7 +4347,9 @@ static ICOM_VTABLE(IDirectDraw4) dga_dd4vt = {
IDirectDraw4Impl_GetDeviceIdentifier IDirectDraw4Impl_GetDeviceIdentifier
}; };
static ICOM_VTABLE(IDirectDraw4) xlib_dd4vt = { static ICOM_VTABLE(IDirectDraw4) xlib_dd4vt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
XCAST(QueryInterface)Xlib_IDirectDraw2Impl_QueryInterface, XCAST(QueryInterface)Xlib_IDirectDraw2Impl_QueryInterface,
XCAST(AddRef)IDirectDraw2Impl_AddRef, XCAST(AddRef)IDirectDraw2Impl_AddRef,
XCAST(Release)Xlib_IDirectDraw2Impl_Release, XCAST(Release)Xlib_IDirectDraw2Impl_Release,
@ -4719,7 +4745,9 @@ static HRESULT WINAPI DDCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
return S_OK; return S_OK;
} }
static ICOM_VTABLE(IClassFactory) DDCF_Vtbl = { static ICOM_VTABLE(IClassFactory) DDCF_Vtbl =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DDCF_QueryInterface, DDCF_QueryInterface,
DDCF_AddRef, DDCF_AddRef,
DDCF_Release, DDCF_Release,

View File

@ -6,6 +6,21 @@
#ifndef __WINE_WINE_OBJ_BASE_H #ifndef __WINE_WINE_OBJ_BASE_H
#define __WINE_WINE_OBJ_BASE_H #define __WINE_WINE_OBJ_BASE_H
/*****************************************************************************
* define ICOM_MSVTABLE_COMPAT
* to implement the microsoft com vtable compatibility workaround for g++.
*
* NOTE: Turning this option on will produce a winelib that is incompatible
* with the binary emulator.
*
* If the compiler supports the com_interface attribute, leave this off, and
* define the ICOM_USE_COM_INTERFACE_ATTRIBUTE macro below.
*
* If you aren't interested in WineLib C++ compatability at all, leave both
* options off.
*/
/* #define ICOM_MSVTABLE_COMPAT 1 */
/* #define ICOM_USE_COM_INTERFACE_ATTRIBUTE 1 */
/***************************************************************************** /*****************************************************************************
* Defines the basic types * Defines the basic types
@ -13,6 +28,9 @@
#include "wtypes.h" #include "wtypes.h"
#define LISet32(li, v) ((li).HighPart = (v) < 0 ? -1 : 0, (li).LowPart = (v))
#define ULISet32(li, v) ((li).HighPart = 0, (li).LowPart = (v))
/***************************************************************************** /*****************************************************************************
* Macros to declare the GUIDs * Macros to declare the GUIDs
*/ */
@ -312,302 +330,139 @@ inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther)
#ifndef ICOM_CINTERFACE #ifndef ICOM_CINTERFACE
/* C++ interface */ /* C++ interface */
#ifndef ICOM_VIRTUAL_METHODS
/* Uses these macros, i.e. do not define ICOM_VIRTUAL_METHODS, if your C++ compiler does not generate
* virtual tables with the right layout (i.e. currently most g++ derivatives).
*/
#define ICOM_METHOD(ret,xfn) \ #define ICOM_METHOD(ret,xfn) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me); \ public: virtual ret (CALLBACK xfn)(void) = 0;
public: inline ret (CALLBACK xfn)(void) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this); };
#define ICOM_METHOD1(ret,xfn,ta,na) \ #define ICOM_METHOD1(ret,xfn,ta,na) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a); \ public: virtual ret (CALLBACK xfn)(ta a) = 0;
public: inline ret (CALLBACK xfn)(ta a) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a); };
#define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \ #define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b); \ public: virtual ret (CALLBACK xfn)(ta a,tb b) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b); };
#define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \ #define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c); };
#define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \ #define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d); };
#define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \ #define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e); };
#define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \ #define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f); };
#define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \ #define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g); };
#define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \ #define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h); };
#define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \ #define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h,i); };
#define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \ #define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j) = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h,i,j); };
#define ICOM_CMETHOD(ret,xfn) \ #define ICOM_CMETHOD(ret,xfn) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me); \ public: virtual ret (CALLBACK xfn)(void) const = 0;
public: inline ret (CALLBACK xfn)(void) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this); };
#define ICOM_CMETHOD1(ret,xfn,ta,na) \ #define ICOM_CMETHOD1(ret,xfn,ta,na) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a); \ public: virtual ret (CALLBACK xfn)(ta a) const = 0;
public: inline ret (CALLBACK xfn)(ta a) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a); };
#define ICOM_CMETHOD2(ret,xfn,ta,na,tb,nb) \ #define ICOM_CMETHOD2(ret,xfn,ta,na,tb,nb) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b); \ public: virtual ret (CALLBACK xfn)(ta a,tb b) const = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b); };
#define ICOM_CMETHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \ #define ICOM_CMETHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c) const = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c); };
#define ICOM_CMETHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \ #define ICOM_CMETHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d) const = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d); };
#define ICOM_CMETHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \ #define ICOM_CMETHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) const = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e); };
#define ICOM_CMETHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \ #define ICOM_CMETHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) const = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f); };
#define ICOM_CMETHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \ #define ICOM_CMETHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) const = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g); };
#define ICOM_CMETHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \ #define ICOM_CMETHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h); \ public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) const = 0;
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) const { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h); };
#define ICOM_VMETHOD(xfn) \ #define ICOM_VMETHOD(xfn) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me); \ public: virtual void (CALLBACK xfn)(void) = 0;
public: inline void (CALLBACK xfn)(void) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this); };
#define ICOM_VMETHOD1(xfn,ta,na) \ #define ICOM_VMETHOD1(xfn,ta,na) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a); \ public: virtual void (CALLBACK xfn)(ta a) = 0;
public: inline void (CALLBACK xfn)(ta a) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a); };
#define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \ #define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b); \ public: virtual void (CALLBACK xfn)(ta a,tb b) = 0;
public: inline void (CALLBACK xfn)(ta a,tb b) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b); };
#define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \ #define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c) = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c); };
#define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \ #define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d) = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d); };
#define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \ #define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e); };
#define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \ #define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f); };
#define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \ #define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g); };
#define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \ #define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
private: void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h); };
#define ICOM_CVMETHOD(xfn) \ #define ICOM_CVMETHOD(xfn) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me); \ public: virtual void (CALLBACK xfn)(void) const = 0;
public: inline void (CALLBACK xfn)(void) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this); };
#define ICOM_CVMETHOD1(xfn,ta,na) \ #define ICOM_CVMETHOD1(xfn,ta,na) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a); \ public: virtual void (CALLBACK xfn)(ta a) const = 0;
public: inline void (CALLBACK xfn)(ta a) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a); };
#define ICOM_CVMETHOD2(xfn,ta,na,tb,nb) \ #define ICOM_CVMETHOD2(xfn,ta,na,tb,nb) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b); \ public: virtual void (CALLBACK xfn)(ta a,tb b) const = 0;
public: inline void (CALLBACK xfn)(ta a,tb b) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b); };
#define ICOM_CVMETHOD3(xfn,ta,na,tb,nb,tc,nc) \ #define ICOM_CVMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c) const = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c); };
#define ICOM_CVMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \ #define ICOM_CVMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d) const = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d); };
#define ICOM_CVMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \ #define ICOM_CVMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) const = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e); };
#define ICOM_CVMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \ #define ICOM_CVMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) const = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f); };
#define ICOM_CVMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \ #define ICOM_CVMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) const = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g); };
#define ICOM_CVMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \ #define ICOM_CVMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
private: void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h); \ public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) const = 0;
public: inline void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) const { ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h); };
#ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
#define ICOM_DEFINE(iface,ibase) \ #define ICOM_DEFINE(iface,ibase) \
typedef struct iface: public ibase { \ typedef struct iface: public ibase { \
iface##_METHODS \ iface##_METHODS \
}; } __attribute__ ((com_interface));
#else #else
/* This case can be used if the layout of the virtual tables generated by the C++
* compiler matches that of Visual C++.
*/
#define ICOM_METHOD(ret,xfn) \
virtual ret (CALLBACK xfn)(void) = 0;
#define ICOM_METHOD1(ret,xfn,ta,na) \
virtual ret (CALLBACK xfn)(ta a) = 0;
#define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \
virtual ret (CALLBACK xfn)(ta a,tb b) = 0;
#define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c) = 0;
#define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d) = 0;
#define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) = 0;
#define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
#define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
#define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
#define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) = 0;
#define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j) = 0;
#define ICOM_CMETHOD(ret,xfn) \
virtual ret (CALLBACK xfn)(void) const = 0;
#define ICOM_CMETHOD1(ret,xfn,ta,na) \
virtual ret (CALLBACK xfn)(ta a) const = 0;
#define ICOM_CMETHOD2(ret,xfn,ta,na,tb,nb) \
virtual ret (CALLBACK xfn)(ta a,tb b) const = 0;
#define ICOM_CMETHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c) const = 0;
#define ICOM_CMETHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d) const = 0;
#define ICOM_CMETHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) const = 0;
#define ICOM_CMETHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) const = 0;
#define ICOM_CMETHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) const = 0;
#define ICOM_CMETHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) const = 0;
#define ICOM_VMETHOD(xfn) \
virtual void (CALLBACK xfn)(void) = 0;
#define ICOM_VMETHOD1(xfn,ta,na) \
virtual void (CALLBACK xfn)(ta a) = 0;
#define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \
virtual void (CALLBACK xfn)(ta a,tb b) = 0;
#define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c) = 0;
#define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d) = 0;
#define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) = 0;
#define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
#define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
#define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
#define ICOM_CVMETHOD(xfn) \
virtual void (CALLBACK xfn)(void) const = 0;
#define ICOM_CVMETHOD1(xfn,ta,na) \
virtual void (CALLBACK xfn)(ta a) const = 0;
#define ICOM_CVMETHOD2(xfn,ta,na,tb,nb) \
virtual void (CALLBACK xfn)(ta a,tb b) const = 0;
#define ICOM_CVMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c) const = 0;
#define ICOM_CVMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d) const = 0;
#define ICOM_CVMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) const = 0;
#define ICOM_CVMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) const = 0;
#define ICOM_CVMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) const = 0;
#define ICOM_CVMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) const = 0;
#endif
#define ICOM_DEFINE(iface,ibase) \ #define ICOM_DEFINE(iface,ibase) \
typedef struct iface: public ibase { \ typedef struct iface: public ibase { \
iface##_METHODS \ iface##_METHODS \
}; };
#endif /* ICOM_USE_COM_INTERFACE_ATTRIBUTE */
#define ICOM_CALL(xfn, p) this_is_a_syntax_error #define ICOM_CALL(xfn, p) this_is_a_syntax_error
#define ICOM_CALL1(xfn, p,a) this_is_a_syntax_error #define ICOM_CALL1(xfn, p,a) this_is_a_syntax_error
#define ICOM_CALL2(xfn, p,a,b) this_is_a_syntax_error #define ICOM_CALL2(xfn, p,a,b) this_is_a_syntax_error
@ -741,6 +596,21 @@ inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther)
void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h); void (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
#ifdef ICOM_MSVTABLE_COMPAT
#define ICOM_DEFINE(iface,ibase) \
typedef struct ICOM_VTABLE(iface) ICOM_VTABLE(iface); \
struct iface { \
const ICOM_VTABLE(iface)* lpvtbl; \
}; \
struct ICOM_VTABLE(iface) { \
long dummyRTTI1; \
long dummyRTTI2; \
ibase##_IMETHODS \
iface##_METHODS \
};
#define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
#else
#define ICOM_DEFINE(iface,ibase) \ #define ICOM_DEFINE(iface,ibase) \
typedef struct ICOM_VTABLE(iface) ICOM_VTABLE(iface); \ typedef struct ICOM_VTABLE(iface) ICOM_VTABLE(iface); \
struct iface { \ struct iface { \
@ -750,6 +620,8 @@ inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther)
ibase##_IMETHODS \ ibase##_IMETHODS \
iface##_METHODS \ iface##_METHODS \
}; };
#define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
#endif /* ICOM_MSVTABLE_COMPAT */
#define ICOM_CALL(xfn, p) (p)->lpvtbl->fn##xfn(p) #define ICOM_CALL(xfn, p) (p)->lpvtbl->fn##xfn(p)
@ -761,6 +633,7 @@ inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther)
#define ICOM_CALL6(xfn, p,a,b,c,d,e,f) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f) #define ICOM_CALL6(xfn, p,a,b,c,d,e,f) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f)
#define ICOM_CALL7(xfn, p,a,b,c,d,e,f,g) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g) #define ICOM_CALL7(xfn, p,a,b,c,d,e,f,g) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g)
#define ICOM_CALL8(xfn, p,a,b,c,d,e,f,g,h) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g,h) #define ICOM_CALL8(xfn, p,a,b,c,d,e,f,g,h) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g,h)
#define ICOM_CALL9(xfn, p,a,b,c,d,e,f,g,h,i) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g,h,i)
#define ICOM_CALL10(xfn, p,a,b,c,d,e,f,g,h,i,j) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g,h,i,j) #define ICOM_CALL10(xfn, p,a,b,c,d,e,f,g,h,i,j) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g,h,i,j)
@ -797,22 +670,21 @@ typedef struct ICOM_VTABLE(IUnknown) ICOM_VTABLE(IUnknown);
struct IUnknown { struct IUnknown {
ICOM_VTABLE(IUnknown)* lpvtbl; ICOM_VTABLE(IUnknown)* lpvtbl;
}; };
struct ICOM_VTABLE(IUnknown) { struct ICOM_VTABLE(IUnknown) {
ICOM_METHOD2(HRESULT,QueryInterface,REFIID,riid, LPVOID*,ppvObj) #ifdef ICOM_MSVTABLE_COMPAT
long dummyRTTI1;
long dummyRTTI2;
#endif /* ICOM_MSVTABLE_COMPAT */
#else /* ICOM_CINTERFACE */ #else /* ICOM_CINTERFACE */
struct IUnknown { struct IUnknown {
#ifndef ICOM_VIRTUAL_METHODS
union {
const void* lpvtbl;
HRESULT (CALLBACK *fnQueryInterface)(IUnknown* me, REFIID riid, LPVOID* ppvObj);
} t;
inline int QueryInterface(REFIID a, LPVOID* b) { return ((IUnknown*)t.lpvtbl)->t.fnQueryInterface(this,a,b); }
#else /* ICOM_VIRTUAL_METHODS */
ICOM_METHOD2(HRESULT,QueryInterface,REFIID,riid, LPVOID*,ppvObj)
#endif /* ICOM_VIRTUAL_METHODS */
#endif /* ICOM_CINTERFACE */ #endif /* ICOM_CINTERFACE */
ICOM_METHOD (ULONG,AddRef)
ICOM_METHOD (ULONG,Release) ICOM_METHOD2(HRESULT,QueryInterface,REFIID,riid, LPVOID*,ppvObj);
ICOM_METHOD (ULONG,AddRef);
ICOM_METHOD (ULONG,Release);
}; };
#undef ICOM_INTERFACE #undef ICOM_INTERFACE
@ -823,7 +695,6 @@ struct IUnknown {
#define IUnknown_Release(p) ICOM_CALL (Release,p) #define IUnknown_Release(p) ICOM_CALL (Release,p)
#endif #endif
/***************************************************************************** /*****************************************************************************
* IClassFactory interface * IClassFactory interface
*/ */
@ -906,21 +777,6 @@ ICOM_DEFINE(IMalloc,IUnknown)
#define IMalloc_GetSize(p,a) ICOM_CALL1(GetSize,p,a) #define IMalloc_GetSize(p,a) ICOM_CALL1(GetSize,p,a)
#define IMalloc_DidAlloc(p,a) ICOM_CALL1(DidAlloc,p,a) #define IMalloc_DidAlloc(p,a) ICOM_CALL1(DidAlloc,p,a)
#define IMalloc_HeapMinimize(p) ICOM_CALL (HeapMinimize,p) #define IMalloc_HeapMinimize(p) ICOM_CALL (HeapMinimize,p)
#ifndef __WINE__
/* Duplicated for WINELIB */
/*** 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)
#endif
#endif #endif

View File

@ -1196,7 +1196,9 @@ static HRESULT WINAPI IDirectPlayLobby2AImpl_CreateCompoundAddress
/* Direct Play Lobby 1 (ascii) Virtual Table for methods */ /* Direct Play Lobby 1 (ascii) Virtual Table for methods */
/* All lobby 1 methods are exactly the same except QueryInterface */ /* All lobby 1 methods are exactly the same except QueryInterface */
static struct ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyAVT = { static struct ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyAVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectPlayLobbyAImpl_QueryInterface, IDirectPlayLobbyAImpl_QueryInterface,
XCAST(AddRef)IDirectPlayLobby2AImpl_AddRef, XCAST(AddRef)IDirectPlayLobby2AImpl_AddRef,
XCAST(Release)IDirectPlayLobby2AImpl_Release, XCAST(Release)IDirectPlayLobby2AImpl_Release,
@ -1223,7 +1225,9 @@ static struct ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyAVT = {
#endif #endif
/* Direct Play Lobby 1 (unicode) Virtual Table for methods */ /* Direct Play Lobby 1 (unicode) Virtual Table for methods */
static ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyWVT = { static ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyWVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectPlayLobbyW_QueryInterface, IDirectPlayLobbyW_QueryInterface,
XCAST(AddRef)IDirectPlayLobby2WImpl_AddRef, XCAST(AddRef)IDirectPlayLobby2WImpl_AddRef,
XCAST(Release)IDirectPlayLobby2WImpl_Release, XCAST(Release)IDirectPlayLobby2WImpl_Release,
@ -1243,7 +1247,9 @@ static ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyWVT = {
/* Direct Play Lobby 2 (ascii) Virtual Table for methods */ /* Direct Play Lobby 2 (ascii) Virtual Table for methods */
static ICOM_VTABLE(IDirectPlayLobby2) directPlayLobby2AVT = { static ICOM_VTABLE(IDirectPlayLobby2) directPlayLobby2AVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectPlayLobby2AImpl_QueryInterface, IDirectPlayLobby2AImpl_QueryInterface,
IDirectPlayLobby2AImpl_AddRef, IDirectPlayLobby2AImpl_AddRef,
IDirectPlayLobby2AImpl_Release, IDirectPlayLobby2AImpl_Release,
@ -1262,7 +1268,9 @@ static ICOM_VTABLE(IDirectPlayLobby2) directPlayLobby2AVT = {
}; };
/* Direct Play Lobby 2 (unicode) Virtual Table for methods */ /* Direct Play Lobby 2 (unicode) Virtual Table for methods */
static ICOM_VTABLE(IDirectPlayLobby2) directPlayLobby2WVT = { static ICOM_VTABLE(IDirectPlayLobby2) directPlayLobby2WVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectPlayLobby2WImpl_QueryInterface, IDirectPlayLobby2WImpl_QueryInterface,
IDirectPlayLobby2WImpl_AddRef, IDirectPlayLobby2WImpl_AddRef,
IDirectPlayLobby2WImpl_Release, IDirectPlayLobby2WImpl_Release,
@ -2473,7 +2481,9 @@ HRESULT WINAPI DirectPlay3WImpl_GetPlayerFlags
# define XCAST(fun) (void*) # define XCAST(fun) (void*)
#endif #endif
static ICOM_VTABLE(IDirectPlay2) directPlay2WVT = { static ICOM_VTABLE(IDirectPlay2) directPlay2WVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DirectPlay2W_QueryInterface, DirectPlay2W_QueryInterface,
XCAST(AddRef)DirectPlay3WImpl_AddRef, XCAST(AddRef)DirectPlay3WImpl_AddRef,
XCAST(Release)DirectPlay3WImpl_Release, XCAST(Release)DirectPlay3WImpl_Release,
@ -2517,7 +2527,9 @@ static ICOM_VTABLE(IDirectPlay2) directPlay2WVT = {
# define XCAST(fun) (void*) # define XCAST(fun) (void*)
#endif #endif
static ICOM_VTABLE(IDirectPlay2) directPlay2AVT = { static ICOM_VTABLE(IDirectPlay2) directPlay2AVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DirectPlay2A_QueryInterface, DirectPlay2A_QueryInterface,
XCAST(AddRef)DirectPlay3WImpl_AddRef, XCAST(AddRef)DirectPlay3WImpl_AddRef,
XCAST(Release)DirectPlay3A_Release, XCAST(Release)DirectPlay3A_Release,
@ -2554,7 +2566,9 @@ static ICOM_VTABLE(IDirectPlay2) directPlay2AVT = {
#undef XCAST #undef XCAST
static ICOM_VTABLE(IDirectPlay3) directPlay3AVT = { static ICOM_VTABLE(IDirectPlay3) directPlay3AVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DirectPlay3A_QueryInterface, DirectPlay3A_QueryInterface,
DirectPlay3WImpl_AddRef, DirectPlay3WImpl_AddRef,
DirectPlay3A_Release, DirectPlay3A_Release,
@ -2605,7 +2619,9 @@ static ICOM_VTABLE(IDirectPlay3) directPlay3AVT = {
DirectPlay3A_GetPlayerFlags DirectPlay3A_GetPlayerFlags
}; };
static ICOM_VTABLE(IDirectPlay3) directPlay3WVT = { static ICOM_VTABLE(IDirectPlay3) directPlay3WVT =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DirectPlay3WImpl_QueryInterface, DirectPlay3WImpl_QueryInterface,
DirectPlay3WImpl_AddRef, DirectPlay3WImpl_AddRef,
DirectPlay3WImpl_Release, DirectPlay3WImpl_Release,

View File

@ -430,7 +430,9 @@ static HRESULT WINAPI IDirectSound3DBufferImpl_SetVelocity(
return DS_OK; return DS_OK;
} }
ICOM_VTABLE(IDirectSound3DBuffer) ds3dbvt = { ICOM_VTABLE(IDirectSound3DBuffer) ds3dbvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/* IUnknown methods */ /* IUnknown methods */
IDirectSound3DBufferImpl_QueryInterface, IDirectSound3DBufferImpl_QueryInterface,
IDirectSound3DBufferImpl_AddRef, IDirectSound3DBufferImpl_AddRef,
@ -691,7 +693,9 @@ static HRESULT WINAPI IDirectSound3DListenerImpl_CommitDeferredSettings(
return DS_OK; return DS_OK;
} }
ICOM_VTABLE(IDirectSound3DListener) ds3dlvt = { ICOM_VTABLE(IDirectSound3DListener) ds3dlvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
/* IUnknown methods */ /* IUnknown methods */
IDirectSound3DListenerImpl_QueryInterface, IDirectSound3DListenerImpl_QueryInterface,
IDirectSound3DListenerImpl_AddRef, IDirectSound3DListenerImpl_AddRef,
@ -766,7 +770,9 @@ static HRESULT WINAPI IDirectSoundNotifyImpl_SetNotificationPositions(
return 0; return 0;
} }
ICOM_VTABLE(IDirectSoundNotify) dsnvt = { ICOM_VTABLE(IDirectSoundNotify) dsnvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectSoundNotifyImpl_QueryInterface, IDirectSoundNotifyImpl_QueryInterface,
IDirectSoundNotifyImpl_AddRef, IDirectSoundNotifyImpl_AddRef,
IDirectSoundNotifyImpl_Release, IDirectSoundNotifyImpl_Release,
@ -1251,7 +1257,9 @@ static HRESULT WINAPI IDirectSoundBufferImpl_QueryInterface(
return E_FAIL; return E_FAIL;
} }
static ICOM_VTABLE(IDirectSoundBuffer) dsbvt = { static ICOM_VTABLE(IDirectSoundBuffer) dsbvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectSoundBufferImpl_QueryInterface, IDirectSoundBufferImpl_QueryInterface,
IDirectSoundBufferImpl_AddRef, IDirectSoundBufferImpl_AddRef,
IDirectSoundBufferImpl_Release, IDirectSoundBufferImpl_Release,
@ -1589,7 +1597,9 @@ static HRESULT WINAPI IDirectSoundImpl_Initialize(
return DS_OK; return DS_OK;
} }
static ICOM_VTABLE(IDirectSound) dsvt = { static ICOM_VTABLE(IDirectSound) dsvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectSoundImpl_QueryInterface, IDirectSoundImpl_QueryInterface,
IDirectSoundImpl_AddRef, IDirectSoundImpl_AddRef,
IDirectSoundImpl_Release, IDirectSoundImpl_Release,

View File

@ -84,6 +84,7 @@ HRESULT WINAPI AntiMonikerImpl_Destroy(AntiMonikerImpl* iface);
/* IPersistStream and IMoniker functions. */ /* IPersistStream and IMoniker functions. */
static ICOM_VTABLE(IMoniker) VT_AntiMonikerImpl = static ICOM_VTABLE(IMoniker) VT_AntiMonikerImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
AntiMonikerImpl_QueryInterface, AntiMonikerImpl_QueryInterface,
AntiMonikerImpl_AddRef, AntiMonikerImpl_AddRef,
AntiMonikerImpl_Release, AntiMonikerImpl_Release,
@ -113,6 +114,7 @@ static ICOM_VTABLE(IMoniker) VT_AntiMonikerImpl =
/* Virtual function table for the IROTData class. */ /* Virtual function table for the IROTData class. */
static ICOM_VTABLE(IROTData) VT_ROTDataImpl = static ICOM_VTABLE(IROTData) VT_ROTDataImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
AntiMonikerROTDataImpl_QueryInterface, AntiMonikerROTDataImpl_QueryInterface,
AntiMonikerROTDataImpl_AddRef, AntiMonikerROTDataImpl_AddRef,
AntiMonikerROTDataImpl_Release, AntiMonikerROTDataImpl_Release,

View File

@ -68,6 +68,7 @@ HRESULT WINAPI BindCtxImpl_GetObjectIndex(BindCtxImpl* This,IUnknown* punk,LPOLE
/* Virtual function table for the BindCtx class. */ /* Virtual function table for the BindCtx class. */
static ICOM_VTABLE(IBindCtx) VT_BindCtxImpl = static ICOM_VTABLE(IBindCtx) VT_BindCtxImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
BindCtxImpl_QueryInterface, BindCtxImpl_QueryInterface,
BindCtxImpl_AddRef, BindCtxImpl_AddRef,
BindCtxImpl_Release, BindCtxImpl_Release,

View File

@ -127,6 +127,7 @@ HRESULT WINAPI EnumMonikerImpl_CreateEnumMoniker(IMoniker** tabMoniker,ULONG tab
static ICOM_VTABLE(IMoniker) VT_CompositeMonikerImpl = static ICOM_VTABLE(IMoniker) VT_CompositeMonikerImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
CompositeMonikerImpl_QueryInterface, CompositeMonikerImpl_QueryInterface,
CompositeMonikerImpl_AddRef, CompositeMonikerImpl_AddRef,
CompositeMonikerImpl_Release, CompositeMonikerImpl_Release,
@ -156,6 +157,7 @@ static ICOM_VTABLE(IMoniker) VT_CompositeMonikerImpl =
/* Virtual function table for the IROTData class. */ /* Virtual function table for the IROTData class. */
static ICOM_VTABLE(IROTData) VT_ROTDataImpl = static ICOM_VTABLE(IROTData) VT_ROTDataImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
CompositeMonikerROTDataImpl_QueryInterface, CompositeMonikerROTDataImpl_QueryInterface,
CompositeMonikerROTDataImpl_AddRef, CompositeMonikerROTDataImpl_AddRef,
CompositeMonikerROTDataImpl_Release, CompositeMonikerROTDataImpl_Release,
@ -166,6 +168,7 @@ static ICOM_VTABLE(IROTData) VT_ROTDataImpl =
/* Virtual function table for the IROTData class */ /* Virtual function table for the IROTData class */
static ICOM_VTABLE(IEnumMoniker) VT_EnumMonikerImpl = static ICOM_VTABLE(IEnumMoniker) VT_EnumMonikerImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
EnumMonikerImpl_QueryInterface, EnumMonikerImpl_QueryInterface,
EnumMonikerImpl_AddRef, EnumMonikerImpl_AddRef,
EnumMonikerImpl_Release, EnumMonikerImpl_Release,

View File

@ -354,6 +354,7 @@ static HRESULT WINAPI DataCache_OnStop(
*/ */
static ICOM_VTABLE(IUnknown) DataCache_NDIUnknown_VTable = static ICOM_VTABLE(IUnknown) DataCache_NDIUnknown_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DataCache_NDIUnknown_QueryInterface, DataCache_NDIUnknown_QueryInterface,
DataCache_NDIUnknown_AddRef, DataCache_NDIUnknown_AddRef,
DataCache_NDIUnknown_Release DataCache_NDIUnknown_Release
@ -361,6 +362,7 @@ static ICOM_VTABLE(IUnknown) DataCache_NDIUnknown_VTable =
static ICOM_VTABLE(IDataObject) DataCache_IDataObject_VTable = static ICOM_VTABLE(IDataObject) DataCache_IDataObject_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DataCache_IDataObject_QueryInterface, DataCache_IDataObject_QueryInterface,
DataCache_IDataObject_AddRef, DataCache_IDataObject_AddRef,
DataCache_IDataObject_Release, DataCache_IDataObject_Release,
@ -377,6 +379,7 @@ static ICOM_VTABLE(IDataObject) DataCache_IDataObject_VTable =
static ICOM_VTABLE(IPersistStorage) DataCache_IPersistStorage_VTable = static ICOM_VTABLE(IPersistStorage) DataCache_IPersistStorage_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DataCache_IPersistStorage_QueryInterface, DataCache_IPersistStorage_QueryInterface,
DataCache_IPersistStorage_AddRef, DataCache_IPersistStorage_AddRef,
DataCache_IPersistStorage_Release, DataCache_IPersistStorage_Release,
@ -391,6 +394,7 @@ static ICOM_VTABLE(IPersistStorage) DataCache_IPersistStorage_VTable =
static ICOM_VTABLE(IViewObject2) DataCache_IViewObject2_VTable = static ICOM_VTABLE(IViewObject2) DataCache_IViewObject2_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DataCache_IViewObject2_QueryInterface, DataCache_IViewObject2_QueryInterface,
DataCache_IViewObject2_AddRef, DataCache_IViewObject2_AddRef,
DataCache_IViewObject2_Release, DataCache_IViewObject2_Release,
@ -405,6 +409,7 @@ static ICOM_VTABLE(IViewObject2) DataCache_IViewObject2_VTable =
static ICOM_VTABLE(IOleCache2) DataCache_IOleCache2_VTable = static ICOM_VTABLE(IOleCache2) DataCache_IOleCache2_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DataCache_IOleCache2_QueryInterface, DataCache_IOleCache2_QueryInterface,
DataCache_IOleCache2_AddRef, DataCache_IOleCache2_AddRef,
DataCache_IOleCache2_Release, DataCache_IOleCache2_Release,
@ -419,6 +424,7 @@ static ICOM_VTABLE(IOleCache2) DataCache_IOleCache2_VTable =
static ICOM_VTABLE(IOleCacheControl) DataCache_IOleCacheControl_VTable = static ICOM_VTABLE(IOleCacheControl) DataCache_IOleCacheControl_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DataCache_IOleCacheControl_QueryInterface, DataCache_IOleCacheControl_QueryInterface,
DataCache_IOleCacheControl_AddRef, DataCache_IOleCacheControl_AddRef,
DataCache_IOleCacheControl_Release, DataCache_IOleCacheControl_Release,

View File

@ -305,6 +305,7 @@ static HRESULT WINAPI DefaultHandler_SetContainedObject(
*/ */
static ICOM_VTABLE(IOleObject) DefaultHandler_IOleObject_VTable = static ICOM_VTABLE(IOleObject) DefaultHandler_IOleObject_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DefaultHandler_QueryInterface, DefaultHandler_QueryInterface,
DefaultHandler_AddRef, DefaultHandler_AddRef,
DefaultHandler_Release, DefaultHandler_Release,
@ -333,6 +334,7 @@ static ICOM_VTABLE(IOleObject) DefaultHandler_IOleObject_VTable =
static ICOM_VTABLE(IUnknown) DefaultHandler_NDIUnknown_VTable = static ICOM_VTABLE(IUnknown) DefaultHandler_NDIUnknown_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DefaultHandler_NDIUnknown_QueryInterface, DefaultHandler_NDIUnknown_QueryInterface,
DefaultHandler_NDIUnknown_AddRef, DefaultHandler_NDIUnknown_AddRef,
DefaultHandler_NDIUnknown_Release, DefaultHandler_NDIUnknown_Release,
@ -340,6 +342,7 @@ static ICOM_VTABLE(IUnknown) DefaultHandler_NDIUnknown_VTable =
static ICOM_VTABLE(IDataObject) DefaultHandler_IDataObject_VTable = static ICOM_VTABLE(IDataObject) DefaultHandler_IDataObject_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DefaultHandler_IDataObject_QueryInterface, DefaultHandler_IDataObject_QueryInterface,
DefaultHandler_IDataObject_AddRef, DefaultHandler_IDataObject_AddRef,
DefaultHandler_IDataObject_Release, DefaultHandler_IDataObject_Release,
@ -356,6 +359,7 @@ static ICOM_VTABLE(IDataObject) DefaultHandler_IDataObject_VTable =
static ICOM_VTABLE(IRunnableObject) DefaultHandler_IRunnableObject_VTable = static ICOM_VTABLE(IRunnableObject) DefaultHandler_IRunnableObject_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DefaultHandler_IRunnableObject_QueryInterface, DefaultHandler_IRunnableObject_QueryInterface,
DefaultHandler_IRunnableObject_AddRef, DefaultHandler_IRunnableObject_AddRef,
DefaultHandler_IRunnableObject_Release, DefaultHandler_IRunnableObject_Release,

View File

@ -89,6 +89,7 @@ int WINAPI FileMonikerImpl_DecomposePath(LPOLESTR str, LPOLESTR** tabStr);
/* IPersistStream and IMoniker functions. */ /* IPersistStream and IMoniker functions. */
static ICOM_VTABLE(IMoniker) VT_FileMonikerImpl = static ICOM_VTABLE(IMoniker) VT_FileMonikerImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
FileMonikerImpl_QueryInterface, FileMonikerImpl_QueryInterface,
FileMonikerImpl_AddRef, FileMonikerImpl_AddRef,
FileMonikerImpl_Release, FileMonikerImpl_Release,
@ -118,6 +119,7 @@ static ICOM_VTABLE(IMoniker) VT_FileMonikerImpl =
/* Virtual function table for the IROTData class. */ /* Virtual function table for the IROTData class. */
static ICOM_VTABLE(IROTData) VT_ROTDataImpl = static ICOM_VTABLE(IROTData) VT_ROTDataImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
FileMonikerROTDataImpl_QueryInterface, FileMonikerROTDataImpl_QueryInterface,
FileMonikerROTDataImpl_AddRef, FileMonikerROTDataImpl_AddRef,
FileMonikerROTDataImpl_Release, FileMonikerROTDataImpl_Release,

View File

@ -146,6 +146,7 @@ HRESULT WINAPI HGLOBALStreamImpl_Clone(
*/ */
static ICOM_VTABLE(IStream) HGLOBALStreamImpl_Vtbl = static ICOM_VTABLE(IStream) HGLOBALStreamImpl_Vtbl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
HGLOBALStreamImpl_QueryInterface, HGLOBALStreamImpl_QueryInterface,
HGLOBALStreamImpl_AddRef, HGLOBALStreamImpl_AddRef,
HGLOBALStreamImpl_Release, HGLOBALStreamImpl_Release,

View File

@ -69,7 +69,9 @@ static HRESULT WINAPI IUnknown_fnQueryInterface(LPUNKNOWN iface,REFIID refiid,LP
return OLE_E_ENUM_NOMORE; return OLE_E_ENUM_NOMORE;
} }
static ICOM_VTABLE(IUnknown) uvt = { static ICOM_VTABLE(IUnknown) uvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IUnknown_fnQueryInterface, IUnknown_fnQueryInterface,
IUnknown_fnAddRef, IUnknown_fnAddRef,
IUnknown_fnRelease IUnknown_fnRelease
@ -328,7 +330,9 @@ static LPVOID WINAPI IMalloc_fnHeapMinimize(LPMALLOC iface) {
return NULL; return NULL;
} }
static ICOM_VTABLE(IMalloc) VT_IMalloc32 = { static ICOM_VTABLE(IMalloc) VT_IMalloc32 =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IMalloc_fnQueryInterface, IMalloc_fnQueryInterface,
IMalloc_fnAddRef, IMalloc_fnAddRef,
IMalloc_fnRelease, IMalloc_fnRelease,

View File

@ -88,6 +88,7 @@ static HRESULT WINAPI ItemMonikerROTDataImpl_GetComparaisonData(IROTData* iface,
/* IPersistStream and IMoniker functions. */ /* IPersistStream and IMoniker functions. */
static ICOM_VTABLE(IMoniker) VT_ItemMonikerImpl = static ICOM_VTABLE(IMoniker) VT_ItemMonikerImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ItemMonikerImpl_QueryInterface, ItemMonikerImpl_QueryInterface,
ItemMonikerImpl_AddRef, ItemMonikerImpl_AddRef,
ItemMonikerImpl_Release, ItemMonikerImpl_Release,
@ -117,6 +118,7 @@ static ICOM_VTABLE(IMoniker) VT_ItemMonikerImpl =
/* Virtual function table for the IROTData class. */ /* Virtual function table for the IROTData class. */
static ICOM_VTABLE(IROTData) VT_ROTDataImpl = static ICOM_VTABLE(IROTData) VT_ROTDataImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ItemMonikerROTDataImpl_QueryInterface, ItemMonikerROTDataImpl_QueryInterface,
ItemMonikerROTDataImpl_AddRef, ItemMonikerROTDataImpl_AddRef,
ItemMonikerROTDataImpl_Release, ItemMonikerROTDataImpl_Release,

View File

@ -116,6 +116,7 @@ HRESULT WINAPI HGLOBALLockBytesImpl_Stat(
*/ */
static ICOM_VTABLE(ILockBytes) HGLOBALLockBytesImpl_Vtbl = static ICOM_VTABLE(ILockBytes) HGLOBALLockBytesImpl_Vtbl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
HGLOBALLockBytesImpl_QueryInterface, HGLOBALLockBytesImpl_QueryInterface,
HGLOBALLockBytesImpl_AddRef, HGLOBALLockBytesImpl_AddRef,
HGLOBALLockBytesImpl_Release, HGLOBALLockBytesImpl_Release,

View File

@ -62,6 +62,7 @@ HRESULT WINAPI RunningObjectTableImpl_GetObjectIndex(RunningObjectTableImpl* Thi
/* Virtual function table for the IRunningObjectTable class. */ /* Virtual function table for the IRunningObjectTable class. */
static ICOM_VTABLE(IRunningObjectTable) VT_RunningObjectTableImpl = static ICOM_VTABLE(IRunningObjectTable) VT_RunningObjectTableImpl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
RunningObjectTableImpl_QueryInterface, RunningObjectTableImpl_QueryInterface,
RunningObjectTableImpl_AddRef, RunningObjectTableImpl_AddRef,
RunningObjectTableImpl_Release, RunningObjectTableImpl_Release,

View File

@ -168,6 +168,7 @@ static HRESULT WINAPI OLEFontImpl_GetSizeMax(IPersistStream* iface,
*/ */
static ICOM_VTABLE(IFont) OLEFontImpl_VTable = static ICOM_VTABLE(IFont) OLEFontImpl_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
OLEFontImpl_QueryInterface, OLEFontImpl_QueryInterface,
OLEFontImpl_AddRef, OLEFontImpl_AddRef,
OLEFontImpl_Release, OLEFontImpl_Release,
@ -199,6 +200,7 @@ static ICOM_VTABLE(IFont) OLEFontImpl_VTable =
static ICOM_VTABLE(IDispatch) OLEFontImpl_IDispatch_VTable = static ICOM_VTABLE(IDispatch) OLEFontImpl_IDispatch_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
OLEFontImpl_IDispatch_QueryInterface, OLEFontImpl_IDispatch_QueryInterface,
OLEFontImpl_IDispatch_AddRef, OLEFontImpl_IDispatch_AddRef,
OLEFontImpl_IDispatch_Release, OLEFontImpl_IDispatch_Release,
@ -210,6 +212,7 @@ static ICOM_VTABLE(IDispatch) OLEFontImpl_IDispatch_VTable =
static ICOM_VTABLE(IPersistStream) OLEFontImpl_IPersistStream_VTable = static ICOM_VTABLE(IPersistStream) OLEFontImpl_IPersistStream_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
OLEFontImpl_IPersistStream_QueryInterface, OLEFontImpl_IPersistStream_QueryInterface,
OLEFontImpl_IPersistStream_AddRef, OLEFontImpl_IPersistStream_AddRef,
OLEFontImpl_IPersistStream_Release, OLEFontImpl_IPersistStream_Release,

View File

@ -386,6 +386,7 @@ static HRESULT WINAPI DataAdviseHolder_SendOnDataChange(
*/ */
static struct ICOM_VTABLE(IDataAdviseHolder) DataAdviseHolderImpl_VTable = static struct ICOM_VTABLE(IDataAdviseHolder) DataAdviseHolderImpl_VTable =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
DataAdviseHolder_QueryInterface, DataAdviseHolder_QueryInterface,
DataAdviseHolder_AddRef, DataAdviseHolder_AddRef,
DataAdviseHolder_Release, DataAdviseHolder_Release,

View File

@ -28,6 +28,7 @@ DEFAULT_DEBUG_CHANNEL(storage)
*/ */
static ICOM_VTABLE(IStream) StgStreamImpl_Vtbl = static ICOM_VTABLE(IStream) StgStreamImpl_Vtbl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
StgStreamImpl_QueryInterface, StgStreamImpl_QueryInterface,
StgStreamImpl_AddRef, StgStreamImpl_AddRef,
StgStreamImpl_Release, StgStreamImpl_Release,

View File

@ -89,6 +89,7 @@ static DWORD GetCreationModeFromSTGM(DWORD stgm);
*/ */
static ICOM_VTABLE(IStorage) Storage32Impl_Vtbl = static ICOM_VTABLE(IStorage) Storage32Impl_Vtbl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
StorageBaseImpl_QueryInterface, StorageBaseImpl_QueryInterface,
StorageBaseImpl_AddRef, StorageBaseImpl_AddRef,
StorageBaseImpl_Release, StorageBaseImpl_Release,
@ -114,6 +115,7 @@ static ICOM_VTABLE(IStorage) Storage32Impl_Vtbl =
*/ */
static ICOM_VTABLE(IStorage) Storage32InternalImpl_Vtbl = static ICOM_VTABLE(IStorage) Storage32InternalImpl_Vtbl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
StorageBaseImpl_QueryInterface, StorageBaseImpl_QueryInterface,
StorageBaseImpl_AddRef, StorageBaseImpl_AddRef,
StorageBaseImpl_Release, StorageBaseImpl_Release,
@ -139,6 +141,7 @@ static ICOM_VTABLE(IStorage) Storage32InternalImpl_Vtbl =
*/ */
static ICOM_VTABLE(IEnumSTATSTG) IEnumSTATSTGImpl_Vtbl = static ICOM_VTABLE(IEnumSTATSTG) IEnumSTATSTGImpl_Vtbl =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IEnumSTATSTGImpl_QueryInterface, IEnumSTATSTGImpl_QueryInterface,
IEnumSTATSTGImpl_AddRef, IEnumSTATSTGImpl_AddRef,
IEnumSTATSTGImpl_Release, IEnumSTATSTGImpl_Release,

View File

@ -291,7 +291,9 @@ static HRESULT WINAPI IDirectInputAImpl_RunControlPanel(LPDIRECTINPUTA iface,
return DI_OK; return DI_OK;
} }
static ICOM_VTABLE(IDirectInputA) ddiavt= { static ICOM_VTABLE(IDirectInputA) ddiavt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectInputAImpl_QueryInterface, IDirectInputAImpl_QueryInterface,
IDirectInputAImpl_AddRef, IDirectInputAImpl_AddRef,
IDirectInputAImpl_Release, IDirectInputAImpl_Release,
@ -1096,7 +1098,9 @@ static HRESULT WINAPI SysMouseAImpl_SetProperty(LPDIRECTINPUTDEVICE2A iface,
} }
static ICOM_VTABLE(IDirectInputDevice2A) SysKeyboardAvt={ static ICOM_VTABLE(IDirectInputDevice2A) SysKeyboardAvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectInputDevice2AImpl_QueryInterface, IDirectInputDevice2AImpl_QueryInterface,
IDirectInputDevice2AImpl_AddRef, IDirectInputDevice2AImpl_AddRef,
IDirectInputDevice2AImpl_Release, IDirectInputDevice2AImpl_Release,
@ -1126,7 +1130,9 @@ static ICOM_VTABLE(IDirectInputDevice2A) SysKeyboardAvt={
IDirectInputDevice2AImpl_SendDeviceData, IDirectInputDevice2AImpl_SendDeviceData,
}; };
static ICOM_VTABLE(IDirectInputDevice2A) SysMouseAvt={ static ICOM_VTABLE(IDirectInputDevice2A) SysMouseAvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectInputDevice2AImpl_QueryInterface, IDirectInputDevice2AImpl_QueryInterface,
IDirectInputDevice2AImpl_AddRef, IDirectInputDevice2AImpl_AddRef,
SysMouseAImpl_Release, SysMouseAImpl_Release,