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:
parent
ddca315388
commit
2305f3c06d
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue