Use the COM macros rather than directly accessing the lpvtbl field.
diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c
index 3349f07..653c51c 100644
--- a/dlls/avifil32/avifile.c
+++ b/dlls/avifil32/avifile.c
@@ -377,16 +377,16 @@
/* Only the szName at the end is different */
memcpy(&psiw,psi,sizeof(*psi)-sizeof(psi->szName));
lstrcpynAtoW(psiw.szName,psi->szName,sizeof(psi->szName));
- return iface->lpvtbl->fnCreateStream(iface,ppavi,&psiw);
+ return IAVIFile_CreateStream(iface,ppavi,&psiw);
}
HRESULT WINAPI AVIFileCreateStreamW(IAVIFile*iface,PAVISTREAM*avis,AVISTREAMINFOW*asi) {
- return iface->lpvtbl->fnCreateStream(iface,avis,asi);
+ return IAVIFile_CreateStream(iface,avis,asi);
}
HRESULT WINAPI AVIFileGetStream(IAVIFile*iface,PAVISTREAM*avis,DWORD fccType,LONG lParam) {
- return iface->lpvtbl->fnGetStream(iface,avis,fccType,lParam);
+ return IAVIFile_GetStream(iface,avis,fccType,lParam);
}
HRESULT WINAPI AVIFileInfoA(PAVIFILE iface,LPAVIFILEINFOA afi,LONG size) {
@@ -395,7 +395,7 @@
if (size < sizeof(AVIFILEINFOA))
return AVIERR_BADSIZE;
- hres = iface->lpvtbl->fnInfo(iface,&afiw,sizeof(afiw));
+ hres = IAVIFile_Info(iface,&afiw,sizeof(afiw));
memcpy(afi,&afiw,sizeof(*afi)-sizeof(afi->szFileType));
lstrcpynWtoA(afi->szFileType,afiw.szFileType,sizeof(afi->szFileType));
return hres;
@@ -403,7 +403,7 @@
HRESULT WINAPI AVIStreamInfoW(PAVISTREAM iface,AVISTREAMINFOW *asi,LONG
size) {
- return iface->lpvtbl->fnInfo(iface,asi,size);
+ return IAVIFile_Info(iface,asi,size);
}
HRESULT WINAPI AVIStreamInfoA(PAVISTREAM iface,AVISTREAMINFOA *asi,LONG
@@ -413,14 +413,14 @@
if (size<sizeof(AVISTREAMINFOA))
return AVIERR_BADSIZE;
- hres = iface->lpvtbl->fnInfo(iface,&asiw,sizeof(asiw));
+ hres = IAVIFile_Info(iface,&asiw,sizeof(asiw));
memcpy(asi,&asiw,sizeof(asiw)-sizeof(asiw.szName));
lstrcpynWtoA(asi->szName,asiw.szName,sizeof(asi->szName));
return hres;
}
HRESULT WINAPI AVIFileInfoW(PAVIFILE iface,LPAVIFILEINFOW afi,LONG size) {
- return iface->lpvtbl->fnInfo(iface,afi,size);
+ return IAVIFile_Info(iface,afi,size);
}
HRESULT WINAPI AVIMakeCompressedStream(PAVISTREAM *ppsCompressed,PAVISTREAM ppsSource,AVICOMPRESSOPTIONS *aco,CLSID *pclsidHandler) {
@@ -435,7 +435,7 @@
FIXME_(avifile)("\tdwFlags: 0x%08lx\n",aco->dwFlags);
/* we just create a duplicate for now */
- ((IUnknown*)ppsSource)->lpvtbl->fnAddRef((IUnknown*)ppsSource);
+ IAVIStream_AddRef(ppsSource);
*ppsCompressed = ppsSource;
as = (IAVIStreamImpl*)ppsSource;
@@ -467,33 +467,33 @@
}
HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM iface,LONG pos,LPVOID format,LONG formatsize) {
- return iface->lpvtbl->fnSetFormat(iface,pos,format,formatsize);
+ return IAVIStream_SetFormat(iface,pos,format,formatsize);
}
HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM iface,LONG pos,LPVOID format,LONG *formatsize) {
- return iface->lpvtbl->fnReadFormat(iface,pos,format,formatsize);
+ return IAVIStream_ReadFormat(iface,pos,format,formatsize);
}
HRESULT WINAPI AVIStreamWrite(PAVISTREAM iface,LONG start,LONG samples,LPVOID buffer,LONG buffersize,DWORD flags,LONG *sampwritten,LONG *byteswritten) {
- return iface->lpvtbl->fnWrite(iface,start,samples,buffer,buffersize,flags,sampwritten,byteswritten);
+ return IAVIStream_Write(iface,start,samples,buffer,buffersize,flags,sampwritten,byteswritten);
}
HRESULT WINAPI AVIStreamRead(PAVISTREAM iface,LONG start,LONG samples,LPVOID buffer,LONG buffersize,LONG *bytesread,LONG *samplesread) {
- return iface->lpvtbl->fnRead(iface,start,samples,buffer,buffersize,bytesread,samplesread);
+ return IAVIStream_Read(iface,start,samples,buffer,buffersize,bytesread,samplesread);
}
HRESULT WINAPI AVIStreamWriteData(PAVISTREAM iface,DWORD fcc,LPVOID lp,LONG size) {
- return iface->lpvtbl->fnWriteData(iface,fcc,lp,size);
+ return IAVIStream_WriteData(iface,fcc,lp,size);
}
HRESULT WINAPI AVIStreamReadData(PAVISTREAM iface,DWORD fcc,LPVOID lp,LONG *lpread) {
- return iface->lpvtbl->fnReadData(iface,fcc,lp,lpread);
+ return IAVIStream_ReadData(iface,fcc,lp,lpread);
}
LONG WINAPI AVIStreamStart(PAVISTREAM iface) {
AVISTREAMINFOW si;
- iface->lpvtbl->fnInfo(iface,&si,sizeof(si));
+ IAVIStream_Info(iface,&si,sizeof(si));
return si.dwStart;
}
@@ -501,14 +501,14 @@
AVISTREAMINFOW si;
HRESULT ret;
- ret = iface->lpvtbl->fnInfo(iface,&si,sizeof(si));
+ ret = IAVIStream_Info(iface,&si,sizeof(si));
if (ret) /* error */
return 1;
return si.dwLength;
}
ULONG WINAPI AVIStreamRelease(PAVISTREAM iface) {
- return ((LPUNKNOWN)iface)->lpvtbl->fnRelease((LPUNKNOWN)iface);
+ return IAVIStream_Release(iface);
}
PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM iface,LPBITMAPINFOHEADER bmi) {
@@ -517,16 +517,16 @@
}
LPVOID WINAPI AVIStreamGetFrame(PGETFRAME pg,LONG pos) {
- return pg->lpvtbl->fnGetFrame(pg,pos);
+ return IGetFrame_GetFrame(pg,pos);
}
HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME pg) {
- if (pg) ((LPUNKNOWN)pg)->lpvtbl->fnRelease((LPUNKNOWN)pg);
+ if (pg) IGetFrame_Release(pg);
return 0;
}
ULONG WINAPI AVIFileRelease(PAVIFILE iface) {
- return ((LPUNKNOWN)iface)->lpvtbl->fnRelease((LPUNKNOWN)iface);
+ return IAVIFile_Release(iface);
}
void WINAPI AVIFileExit(void) {
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c
index 14ccc9a..ff3058e 100644
--- a/dlls/dplayx/dplay.c
+++ b/dlls/dplayx/dplay.c
@@ -50,7 +50,6 @@
};
-
/* Get a new interface. To be used by QueryInterface. */
extern
HRESULT directPlay_QueryInterface
@@ -72,7 +71,7 @@
lpDP->lpvtbl = &directPlay2WVT;
InitializeCriticalSection( &lpDP->DP_lock );
- IDirectPlayX_AddRef( lpDP );
+ IDirectPlayX_AddRef( (IDirectPlay4*)lpDP );
*ppvObj = lpDP;
@@ -92,7 +91,7 @@
lpDP->lpvtbl = &directPlay2AVT;
InitializeCriticalSection( &lpDP->DP_lock );
- IDirectPlayX_AddRef( lpDP );
+ IDirectPlayX_AddRef( (IDirectPlay4*)lpDP );
*ppvObj = lpDP;
@@ -112,7 +111,7 @@
lpDP->lpvtbl = &directPlay3WVT;
InitializeCriticalSection( &lpDP->DP_lock );
- IDirectPlayX_AddRef( lpDP );
+ IDirectPlayX_AddRef( (IDirectPlay4*)lpDP );
*ppvObj = lpDP;
@@ -132,7 +131,7 @@
lpDP->lpvtbl = &directPlay3AVT;
InitializeCriticalSection( &lpDP->DP_lock );
- IDirectPlayX_AddRef( lpDP );
+ IDirectPlayX_AddRef( (IDirectPlay4*)lpDP );
*ppvObj = lpDP;
@@ -152,7 +151,7 @@
lpDP->lpvtbl = &directPlay4WVT;
InitializeCriticalSection( &lpDP->DP_lock );
- IDirectPlayX_AddRef( lpDP );
+ IDirectPlayX_AddRef( (IDirectPlay4*)lpDP );
*ppvObj = lpDP;
@@ -172,7 +171,7 @@
lpDP->lpvtbl = &directPlay4AVT;
InitializeCriticalSection( &lpDP->DP_lock );
- IDirectPlayX_AddRef( lpDP );
+ IDirectPlayX_AddRef( (IDirectPlay4*)lpDP );
*ppvObj = lpDP;
diff --git a/dlls/dplayx/dplobby.c b/dlls/dplayx/dplobby.c
index d7c1a77..1eb994c 100644
--- a/dlls/dplayx/dplobby.c
+++ b/dlls/dplayx/dplobby.c
@@ -131,7 +131,7 @@
{
InitializeCriticalSection( &lpDPL->unk->DPL_lock );
- IDirectPlayLobby_AddRef( lpDPL );
+ IDirectPlayLobby_AddRef( (IDirectPlayLobby*)lpDPL );
return TRUE;
}
@@ -475,7 +475,7 @@
IsEqualGUID( &IID_IDirectPlayLobby3A, riid )
)
{
- IDirectPlayLobby_AddRef( This );
+ IDirectPlayLobby_AddRef( (IDirectPlayLobby*)This );
*ppvObj = This;
return S_OK;
}
@@ -498,7 +498,7 @@
IsEqualGUID( &IID_IDirectPlayLobby3, riid )
)
{
- IDirectPlayLobby_AddRef( This );
+ IDirectPlayLobby_AddRef( (IDirectPlayLobby*)This );
*ppvObj = This;
return S_OK;
}
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index 55b8d64..a040e4e 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -1230,7 +1230,7 @@
IsEqualIID(riid,&IID_ITypeLib2))
*ppvObject = This;
if(*ppvObject){
- (*(LPTYPELIB*)ppvObject)->lpvtbl->fnAddRef(This);
+ ITypeLib_AddRef(This);
TRACE_(typelib)("-- Interface: (%p)->(%p)\n",ppvObject,*ppvObject);
return S_OK;
}
@@ -1626,7 +1626,7 @@
IsEqualIID(riid,&IID_ITypeInfo2))
*ppvObject = This;
if(*ppvObject){
- (*(LPTYPEINFO*)ppvObject)->lpvtbl->fnAddRef(iface);
+ ITypeInfo_AddRef(iface);
TRACE_(typelib)("-- Interface: (%p)->(%p)\n",ppvObject,*ppvObject);
return S_OK;
}
@@ -1773,9 +1773,9 @@
result=This->lpvtbl->fnGetRefTypeInfo(iface,
This->impltypelist->reference, &pTInfo);
if(SUCCEEDED(result)){
- result=pTInfo->lpvtbl->fnGetNames(pTInfo, memid, rgBstrNames,
+ result=ITypeInfo_GetNames(pTInfo, memid, rgBstrNames,
cMaxNames, pcNames);
- pTInfo->lpvtbl->fnRelease(pTInfo);
+ ITypeInfo_Release(pTInfo);
return result;
}
WARN_(typelib)("Could not search inherited interface!\n");
@@ -1882,11 +1882,11 @@
This->TypeAttr.cImplTypes ){
/* recursive search */
ITypeInfo *pTInfo;
- ret=This->lpvtbl->fnGetRefTypeInfo(iface,
+ ret=ITypeInfo_GetRefTypeInfo(iface,
This->impltypelist->reference, &pTInfo);
if(SUCCEEDED(ret)){
- ret=pTInfo->lpvtbl->fnGetIDsOfNames(pTInfo, rgszNames, cNames, pMemId );
- pTInfo->lpvtbl->fnRelease(pTInfo);
+ ret=ITypeInfo_GetIDsOfNames(pTInfo, rgszNames, cNames, pMemId );
+ ITypeInfo_Release(pTInfo);
return ret;
}
WARN_(typelib)("Could not search inherited interface!\n");
@@ -1977,10 +1977,10 @@
result=This->lpvtbl->fnGetContainingTypeLib(iface, &pTLib,
&Index);
if(SUCCEEDED(result)){
- result=pTLib->lpvtbl->fnGetTypeInfo(pTLib,
+ result=ITypeLib_GetTypeInfo(pTLib,
HREFTYPE_INDEX(hRefType),
ppTInfo);
- pTLib->lpvtbl->fnRelease(pTLib );
+ ITypeLib_Release(pTLib );
}
} else{
/* imported type lib */
@@ -1993,7 +1993,7 @@
return TYPE_E_ELEMENTNOTFOUND; /* FIXME : correct? */
pTypeLib=pRefType->pImpTLInfo->pImpTypeLib;
if(pTypeLib) /* typelib already loaded */
- result=pTypeLib->lpvtbl->fnGetTypeInfoOfGuid(
+ result=ITypeLib_GetTypeInfoOfGuid(
(LPTYPELIB)pTypeLib, &pRefType->guid, ppTInfo);
else{
result=LoadRegTypeLib( &pRefType->pImpTLInfo->guid,
@@ -2005,7 +2005,7 @@
SysFreeString(libnam);
}
if(SUCCEEDED(result)){
- result=pTypeLib->lpvtbl->fnGetTypeInfoOfGuid(
+ result=ITypeLib_GetTypeInfoOfGuid(
(LPTYPELIB)pTypeLib, &pRefType->guid, ppTInfo);
pRefType->pImpTLInfo->pImpTypeLib=pTypeLib;
}
@@ -2065,7 +2065,7 @@
ICOM_THIS( TLBTypeInfo, iface);
*ppTLib=(LPTYPELIB )(This->pTypeLib);
*pIndex=This->index;
- (*ppTLib)->lpvtbl->fnAddRef(*ppTLib);
+ ITypeLib_AddRef(*ppTLib);
TRACE_(typelib)("(%p) returns (%p) index %d!\n", This, *ppTLib, *pIndex);
return S_OK;
}
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index 422f5b8..de3d5ad 100644
--- a/dlls/shell32/brsfolder.c
+++ b/dlls/shell32/brsfolder.c
@@ -168,7 +168,7 @@
SetCursor(LoadCursorA(0, IDC_ARROWA));
if (lpe)
- lpe->lpvtbl->fnRelease(lpe);
+ IEnumIDList_Release(lpe);
if (pidlTemp )
SHFree(pidlTemp);
}
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index c7a27b3..30eba9a 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -844,7 +844,7 @@
if (!SHELL32_IExplorerInterface)
return E_FAIL;
- SHELL32_IExplorerInterface->lpvtbl->fnAddRef(SHELL32_IExplorerInterface);
+ IUnknown_AddRef(SHELL32_IExplorerInterface);
return NOERROR;
}
/*************************************************************************