Michael Stefaniuc : shell32: Finish the COM cleanup in shelllink.c.
Alexandre Julliard
julliard at winehq.org
Mon May 23 13:24:58 CDT 2011
Module: wine
Branch: master
Commit: 4ecd6e793405657b3a4268aa74a7f05e74cae439
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4ecd6e793405657b3a4268aa74a7f05e74cae439
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Mon May 23 01:05:19 2011 +0200
shell32: Finish the COM cleanup in shelllink.c.
---
dlls/shell32/shelllink.c | 84 +++++++++++++++++++++++-----------------------
1 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/dlls/shell32/shelllink.c b/dlls/shell32/shelllink.c
index a0fe6ce..07fe7aa 100644
--- a/dlls/shell32/shelllink.c
+++ b/dlls/shell32/shelllink.c
@@ -129,13 +129,13 @@ static const IObjectWithSiteVtbl owsvt;
typedef struct
{
IShellLinkA IShellLinkA_iface;
- const IShellLinkWVtbl *lpvtblw;
- const IPersistFileVtbl *lpvtblPersistFile;
- const IPersistStreamVtbl *lpvtblPersistStream;
- const IShellLinkDataListVtbl *lpvtblShellLinkDataList;
- const IShellExtInitVtbl *lpvtblShellExtInit;
- const IContextMenuVtbl *lpvtblContextMenu;
- const IObjectWithSiteVtbl *lpvtblObjectWithSite;
+ IShellLinkW IShellLinkW_iface;
+ IPersistFile IPersistFile_iface;
+ IPersistStream IPersistStream_iface;
+ IShellLinkDataList IShellLinkDataList_iface;
+ IShellExtInit IShellExtInit_iface;
+ IContextMenu IContextMenu_iface;
+ IObjectWithSite IObjectWithSite_iface;
LONG ref;
@@ -170,39 +170,39 @@ static inline IShellLinkImpl *impl_from_IShellLinkA(IShellLinkA *iface)
return CONTAINING_RECORD(iface, IShellLinkImpl, IShellLinkA_iface);
}
-static inline IShellLinkImpl *impl_from_IShellLinkW( IShellLinkW *iface )
+static inline IShellLinkImpl *impl_from_IShellLinkW(IShellLinkW *iface)
{
- return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblw));
+ return CONTAINING_RECORD(iface, IShellLinkImpl, IShellLinkW_iface);
}
-static inline IShellLinkImpl *impl_from_IPersistFile( IPersistFile *iface )
+static inline IShellLinkImpl *impl_from_IPersistFile(IPersistFile *iface)
{
- return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblPersistFile));
+ return CONTAINING_RECORD(iface, IShellLinkImpl, IPersistFile_iface);
}
-static inline IShellLinkImpl *impl_from_IPersistStream( IPersistStream *iface )
+static inline IShellLinkImpl *impl_from_IPersistStream(IPersistStream *iface)
{
- return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblPersistStream));
+ return CONTAINING_RECORD(iface, IShellLinkImpl, IPersistStream_iface);
}
-static inline IShellLinkImpl *impl_from_IShellLinkDataList( IShellLinkDataList *iface )
+static inline IShellLinkImpl *impl_from_IShellLinkDataList(IShellLinkDataList *iface)
{
- return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblShellLinkDataList));
+ return CONTAINING_RECORD(iface, IShellLinkImpl, IShellLinkDataList_iface);
}
-static inline IShellLinkImpl *impl_from_IShellExtInit( IShellExtInit *iface )
+static inline IShellLinkImpl *impl_from_IShellExtInit(IShellExtInit *iface)
{
- return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblShellExtInit));
+ return CONTAINING_RECORD(iface, IShellLinkImpl, IShellExtInit_iface);
}
-static inline IShellLinkImpl *impl_from_IContextMenu( IContextMenu *iface )
+static inline IShellLinkImpl *impl_from_IContextMenu(IContextMenu *iface)
{
- return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblContextMenu));
+ return CONTAINING_RECORD(iface, IShellLinkImpl, IContextMenu_iface);
}
-static inline IShellLinkImpl *impl_from_IObjectWithSite( IObjectWithSite *iface )
+static inline IShellLinkImpl *impl_from_IObjectWithSite(IObjectWithSite *iface)
{
- return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblObjectWithSite));
+ return CONTAINING_RECORD(iface, IShellLinkImpl, IObjectWithSite_iface);
}
static HRESULT ShellLink_UpdatePath(LPCWSTR sPathRel, LPCWSTR path, LPCWSTR sWorkDir, LPWSTR* psPath);
@@ -243,31 +243,31 @@ static HRESULT ShellLink_QueryInterface( IShellLinkImpl *This, REFIID riid, LPV
}
else if(IsEqualIID(riid, &IID_IShellLinkW))
{
- *ppvObj = &(This->lpvtblw);
+ *ppvObj = &This->IShellLinkW_iface;
}
else if(IsEqualIID(riid, &IID_IPersistFile))
{
- *ppvObj = &(This->lpvtblPersistFile);
+ *ppvObj = &This->IPersistFile_iface;
}
else if(IsEqualIID(riid, &IID_IPersistStream))
{
- *ppvObj = &(This->lpvtblPersistStream);
+ *ppvObj = &This->IPersistStream_iface;
}
else if(IsEqualIID(riid, &IID_IShellLinkDataList))
{
- *ppvObj = &(This->lpvtblShellLinkDataList);
+ *ppvObj = &This->IShellLinkDataList_iface;
}
else if(IsEqualIID(riid, &IID_IShellExtInit))
{
- *ppvObj = &(This->lpvtblShellExtInit);
+ *ppvObj = &This->IShellExtInit_iface;
}
else if(IsEqualIID(riid, &IID_IContextMenu))
{
- *ppvObj = &(This->lpvtblContextMenu);
+ *ppvObj = &This->IContextMenu_iface;
}
else if(IsEqualIID(riid, &IID_IObjectWithSite))
{
- *ppvObj = &(This->lpvtblObjectWithSite);
+ *ppvObj = &This->IObjectWithSite_iface;
}
if(*ppvObj)
@@ -386,7 +386,7 @@ static HRESULT WINAPI IPersistFile_fnIsDirty(IPersistFile* iface)
static HRESULT WINAPI IPersistFile_fnLoad(IPersistFile* iface, LPCOLESTR pszFileName, DWORD dwMode)
{
IShellLinkImpl *This = impl_from_IPersistFile(iface);
- IPersistStream *StreamThis = (IPersistStream *)&This->lpvtblPersistStream;
+ IPersistStream *StreamThis = &This->IPersistStream_iface;
HRESULT r;
IStream *stm;
@@ -474,7 +474,7 @@ static BOOL StartLinkProcessor( LPCOLESTR szLink )
static HRESULT WINAPI IPersistFile_fnSave(IPersistFile* iface, LPCOLESTR pszFileName, BOOL fRemember)
{
IShellLinkImpl *This = impl_from_IPersistFile(iface);
- IPersistStream *StreamThis = (IPersistStream *)&This->lpvtblPersistStream;
+ IPersistStream *StreamThis = &This->IPersistStream_iface;
HRESULT r;
IStream *stm;
@@ -1263,13 +1263,13 @@ HRESULT WINAPI IShellLink_Constructor( IUnknown *pUnkOuter,
sl->ref = 1;
sl->IShellLinkA_iface.lpVtbl = &slvt;
- sl->lpvtblw = &slvtw;
- sl->lpvtblPersistFile = &pfvt;
- sl->lpvtblPersistStream = &psvt;
- sl->lpvtblShellLinkDataList = &dlvt;
- sl->lpvtblShellExtInit = &eivt;
- sl->lpvtblContextMenu = &cmvt;
- sl->lpvtblObjectWithSite = &owsvt;
+ sl->IShellLinkW_iface.lpVtbl = &slvtw;
+ sl->IPersistFile_iface.lpVtbl = &pfvt;
+ sl->IPersistStream_iface.lpVtbl = &psvt;
+ sl->IShellLinkDataList_iface.lpVtbl = &dlvt;
+ sl->IShellExtInit_iface.lpVtbl = &eivt;
+ sl->IContextMenu_iface.lpVtbl = &cmvt;
+ sl->IObjectWithSite_iface.lpVtbl = &owsvt;
sl->iShowCmd = SW_SHOWNORMAL;
sl->bDirty = FALSE;
sl->iIdOpen = -1;
@@ -1435,7 +1435,7 @@ static HRESULT WINAPI IShellLinkA_fnGetIDList(IShellLinkA *iface, LPITEMIDLIST *
TRACE("(%p)->(ppidl=%p)\n",This, ppidl);
- return IShellLinkW_GetIDList((IShellLinkW*)&(This->lpvtblw), ppidl);
+ return IShellLinkW_GetIDList(&This->IShellLinkW_iface, ppidl);
}
static HRESULT WINAPI IShellLinkA_fnSetIDList(IShellLinkA *iface, LPCITEMIDLIST pidl)
@@ -1655,7 +1655,7 @@ static HRESULT WINAPI IShellLinkA_fnResolve(IShellLinkA *iface, HWND hwnd, DWORD
TRACE("(%p)->(hwnd=%p flags=%x)\n",This, hwnd, fFlags);
- return IShellLinkW_Resolve( (IShellLinkW*)&(This->lpvtblw), hwnd, fFlags );
+ return IShellLinkW_Resolve(&This->IShellLinkW_iface, hwnd, fFlags);
}
static HRESULT WINAPI IShellLinkA_fnSetPath(IShellLinkA *iface, LPCSTR pszFile)
@@ -1672,7 +1672,7 @@ static HRESULT WINAPI IShellLinkA_fnSetPath(IShellLinkA *iface, LPCSTR pszFile)
if( !str )
return E_OUTOFMEMORY;
- r = IShellLinkW_SetPath((IShellLinkW*)&(This->lpvtblw), str);
+ r = IShellLinkW_SetPath(&This->IShellLinkW_iface, str);
HeapFree( GetProcessHeap(), 0, str );
return r;
@@ -2392,7 +2392,7 @@ ShellLink_ExtInit_Initialize( IShellExtInit* iface, LPCITEMIDLIST pidlFolder,
path = HeapAlloc( GetProcessHeap(), 0, count*sizeof(WCHAR) );
if( path )
{
- IPersistFile *pf = (IPersistFile*) &This->lpvtblPersistFile;
+ IPersistFile *pf = &This->IPersistFile_iface;
count = DragQueryFileW( stgm.u.hGlobal, 0, path, count );
r = IPersistFile_Load( pf, path, 0 );
@@ -2509,7 +2509,7 @@ ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici )
return E_INVALIDARG;
}
- r = IShellLinkW_Resolve( (IShellLinkW*)&(This->lpvtblw), hwnd, 0 );
+ r = IShellLinkW_Resolve(&This->IShellLinkW_iface, hwnd, 0);
if ( FAILED( r ) )
return r;
More information about the wine-cvs
mailing list