Fixed IShellLinkA/W definitions.

This commit is contained in:
Alexandre Julliard 2000-08-03 04:21:23 +00:00
parent b08cb175de
commit 08aad6ac25
2 changed files with 89 additions and 93 deletions

View File

@ -20,7 +20,7 @@
#include "shell32_main.h" #include "shell32_main.h"
#include "shlguid.h" #include "shlguid.h"
DEFAULT_DEBUG_CHANNEL(shell) DEFAULT_DEBUG_CHANNEL(shell);
/* link file formats */ /* link file formats */
@ -59,7 +59,7 @@ typedef struct _LINK_HEADER
#include "poppack.h" #include "poppack.h"
static ICOM_VTABLE(IShellLink) slvt; static ICOM_VTABLE(IShellLinkA) slvt;
static ICOM_VTABLE(IShellLinkW) slvtw; static ICOM_VTABLE(IShellLinkW) slvtw;
static ICOM_VTABLE(IPersistFile) pfvt; static ICOM_VTABLE(IPersistFile) pfvt;
static ICOM_VTABLE(IPersistStream) psvt; static ICOM_VTABLE(IPersistStream) psvt;
@ -68,7 +68,7 @@ static ICOM_VTABLE(IPersistStream) psvt;
typedef struct typedef struct
{ {
ICOM_VFIELD(IShellLink); ICOM_VFIELD(IShellLinkA);
DWORD ref; DWORD ref;
ICOM_VTABLE(IShellLinkW)* lpvtblw; ICOM_VTABLE(IShellLinkW)* lpvtblw;
@ -110,7 +110,7 @@ static HRESULT WINAPI IPersistFile_fnQueryInterface(
TRACE("(%p)\n",This); TRACE("(%p)\n",This);
return IShellLink_QueryInterface((IShellLink*)This, riid, ppvObj); return IShellLinkA_QueryInterface((IShellLinkA*)This, riid, ppvObj);
} }
/****************************************************************************** /******************************************************************************
@ -122,7 +122,7 @@ static ULONG WINAPI IPersistFile_fnAddRef(IPersistFile* iface)
TRACE("(%p)->(count=%lu)\n",This,This->ref); TRACE("(%p)->(count=%lu)\n",This,This->ref);
return IShellLink_AddRef((IShellLink*)This); return IShellLinkA_AddRef((IShellLinkA*)This);
} }
/****************************************************************************** /******************************************************************************
* IPersistFile_Release * IPersistFile_Release
@ -133,7 +133,7 @@ static ULONG WINAPI IPersistFile_fnRelease(IPersistFile* iface)
TRACE("(%p)->(count=%lu)\n",This,This->ref); TRACE("(%p)->(count=%lu)\n",This,This->ref);
return IShellLink_Release((IShellLink*)This); return IShellLinkA_Release((IShellLinkA*)This);
} }
static HRESULT WINAPI IPersistFile_fnGetClassID(IPersistFile* iface, CLSID *pClassID) static HRESULT WINAPI IPersistFile_fnGetClassID(IPersistFile* iface, CLSID *pClassID)
@ -218,7 +218,7 @@ static HRESULT WINAPI IPersistStream_fnQueryInterface(
TRACE("(%p)\n",This); TRACE("(%p)\n",This);
return IShellLink_QueryInterface((IShellLink*)This, riid, ppvoid); return IShellLinkA_QueryInterface((IShellLinkA*)This, riid, ppvoid);
} }
/************************************************************************ /************************************************************************
@ -231,7 +231,7 @@ static ULONG WINAPI IPersistStream_fnRelease(
TRACE("(%p)\n",This); TRACE("(%p)\n",This);
return IShellLink_Release((IShellLink*)This); return IShellLinkA_Release((IShellLinkA*)This);
} }
/************************************************************************ /************************************************************************
@ -244,7 +244,7 @@ static ULONG WINAPI IPersistStream_fnAddRef(
TRACE("(%p)\n",This); TRACE("(%p)\n",This);
return IShellLink_AddRef((IShellLink*)This); return IShellLinkA_AddRef((IShellLinkA*)This);
} }
/************************************************************************ /************************************************************************
@ -398,7 +398,7 @@ static ICOM_VTABLE(IPersistStream) psvt =
/************************************************************************** /**************************************************************************
* IShellLink_Constructor * IShellLink_Constructor
*/ */
IShellLink * IShellLink_Constructor(BOOL bUnicode) IShellLinkA * IShellLink_Constructor(BOOL bUnicode)
{ IShellLinkImpl * sl; { IShellLinkImpl * sl;
sl = (IShellLinkImpl *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IShellLinkImpl)); sl = (IShellLinkImpl *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IShellLinkImpl));
@ -410,13 +410,13 @@ IShellLink * IShellLink_Constructor(BOOL bUnicode)
TRACE("(%p)->()\n",sl); TRACE("(%p)->()\n",sl);
shell32_ObjCount++; shell32_ObjCount++;
return bUnicode ? (IShellLink *) &(sl->lpvtblw) : (IShellLink *)sl; return bUnicode ? (IShellLinkA *) &(sl->lpvtblw) : (IShellLinkA *)sl;
} }
/************************************************************************** /**************************************************************************
* IShellLink_QueryInterface * IShellLinkA_QueryInterface
*/ */
static HRESULT WINAPI IShellLink_fnQueryInterface( IShellLink * iface, REFIID riid, LPVOID *ppvObj) static HRESULT WINAPI IShellLinkA_fnQueryInterface( IShellLinkA * iface, REFIID riid, LPVOID *ppvObj)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -425,7 +425,7 @@ static HRESULT WINAPI IShellLink_fnQueryInterface( IShellLink * iface, REFIID ri
*ppvObj = NULL; *ppvObj = NULL;
if(IsEqualIID(riid, &IID_IUnknown) || if(IsEqualIID(riid, &IID_IUnknown) ||
IsEqualIID(riid, &IID_IShellLink)) IsEqualIID(riid, &IID_IShellLinkA))
{ {
*ppvObj = This; *ppvObj = This;
} }
@ -452,9 +452,9 @@ static HRESULT WINAPI IShellLink_fnQueryInterface( IShellLink * iface, REFIID ri
return E_NOINTERFACE; return E_NOINTERFACE;
} }
/****************************************************************************** /******************************************************************************
* IShellLink_AddRef * IShellLinkA_AddRef
*/ */
static ULONG WINAPI IShellLink_fnAddRef(IShellLink * iface) static ULONG WINAPI IShellLinkA_fnAddRef(IShellLinkA * iface)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -464,9 +464,9 @@ static ULONG WINAPI IShellLink_fnAddRef(IShellLink * iface)
return ++(This->ref); return ++(This->ref);
} }
/****************************************************************************** /******************************************************************************
* IShellLink_Release * IShellLinkA_Release
*/ */
static ULONG WINAPI IShellLink_fnRelease(IShellLink * iface) static ULONG WINAPI IShellLinkA_fnRelease(IShellLinkA * iface)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -491,7 +491,7 @@ static ULONG WINAPI IShellLink_fnRelease(IShellLink * iface)
return This->ref; return This->ref;
} }
static HRESULT WINAPI IShellLink_fnGetPath(IShellLink * iface, LPSTR pszFile,INT cchMaxPath, WIN32_FIND_DATAA *pfd, DWORD fFlags) static HRESULT WINAPI IShellLinkA_fnGetPath(IShellLinkA * iface, LPSTR pszFile,INT cchMaxPath, WIN32_FIND_DATAA *pfd, DWORD fFlags)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -504,7 +504,7 @@ static HRESULT WINAPI IShellLink_fnGetPath(IShellLink * iface, LPSTR pszFile,INT
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnGetIDList(IShellLink * iface, LPITEMIDLIST * ppidl) static HRESULT WINAPI IShellLinkA_fnGetIDList(IShellLinkA * iface, LPITEMIDLIST * ppidl)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -513,7 +513,7 @@ static HRESULT WINAPI IShellLink_fnGetIDList(IShellLink * iface, LPITEMIDLIST *
*ppidl = ILClone(This->pPidl); *ppidl = ILClone(This->pPidl);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetIDList(IShellLink * iface, LPCITEMIDLIST pidl) static HRESULT WINAPI IShellLinkA_fnSetIDList(IShellLinkA * iface, LPCITEMIDLIST pidl)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -524,7 +524,7 @@ static HRESULT WINAPI IShellLink_fnSetIDList(IShellLink * iface, LPCITEMIDLIST p
This->pPidl = ILClone (pidl); This->pPidl = ILClone (pidl);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnGetDescription(IShellLink * iface, LPSTR pszName,INT cchMaxName) static HRESULT WINAPI IShellLinkA_fnGetDescription(IShellLinkA * iface, LPSTR pszName,INT cchMaxName)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -532,14 +532,14 @@ static HRESULT WINAPI IShellLink_fnGetDescription(IShellLink * iface, LPSTR pszN
lstrcpynA(pszName,"Description, FIXME",cchMaxName); lstrcpynA(pszName,"Description, FIXME",cchMaxName);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetDescription(IShellLink * iface, LPCSTR pszName) static HRESULT WINAPI IShellLinkA_fnSetDescription(IShellLinkA * iface, LPCSTR pszName)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
FIXME("(%p)->(desc=%s)\n",This, pszName); FIXME("(%p)->(desc=%s)\n",This, pszName);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnGetWorkingDirectory(IShellLink * iface, LPSTR pszDir,INT cchMaxPath) static HRESULT WINAPI IShellLinkA_fnGetWorkingDirectory(IShellLinkA * iface, LPSTR pszDir,INT cchMaxPath)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -547,14 +547,14 @@ static HRESULT WINAPI IShellLink_fnGetWorkingDirectory(IShellLink * iface, LPSTR
lstrcpynA(pszDir,"c:\\", cchMaxPath); lstrcpynA(pszDir,"c:\\", cchMaxPath);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetWorkingDirectory(IShellLink * iface, LPCSTR pszDir) static HRESULT WINAPI IShellLinkA_fnSetWorkingDirectory(IShellLinkA * iface, LPCSTR pszDir)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
FIXME("(%p)->(dir=%s)\n",This, pszDir); FIXME("(%p)->(dir=%s)\n",This, pszDir);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnGetArguments(IShellLink * iface, LPSTR pszArgs,INT cchMaxPath) static HRESULT WINAPI IShellLinkA_fnGetArguments(IShellLinkA * iface, LPSTR pszArgs,INT cchMaxPath)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -562,7 +562,7 @@ static HRESULT WINAPI IShellLink_fnGetArguments(IShellLink * iface, LPSTR pszArg
lstrcpynA(pszArgs, "", cchMaxPath); lstrcpynA(pszArgs, "", cchMaxPath);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetArguments(IShellLink * iface, LPCSTR pszArgs) static HRESULT WINAPI IShellLinkA_fnSetArguments(IShellLinkA * iface, LPCSTR pszArgs)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -570,7 +570,7 @@ static HRESULT WINAPI IShellLink_fnSetArguments(IShellLink * iface, LPCSTR pszAr
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnGetHotkey(IShellLink * iface, WORD *pwHotkey) static HRESULT WINAPI IShellLinkA_fnGetHotkey(IShellLinkA * iface, WORD *pwHotkey)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -580,7 +580,7 @@ static HRESULT WINAPI IShellLink_fnGetHotkey(IShellLink * iface, WORD *pwHotkey)
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetHotkey(IShellLink * iface, WORD wHotkey) static HRESULT WINAPI IShellLinkA_fnSetHotkey(IShellLinkA * iface, WORD wHotkey)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -590,7 +590,7 @@ static HRESULT WINAPI IShellLink_fnSetHotkey(IShellLink * iface, WORD wHotkey)
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnGetShowCmd(IShellLink * iface, INT *piShowCmd) static HRESULT WINAPI IShellLinkA_fnGetShowCmd(IShellLinkA * iface, INT *piShowCmd)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -598,14 +598,14 @@ static HRESULT WINAPI IShellLink_fnGetShowCmd(IShellLink * iface, INT *piShowCmd
*piShowCmd=0; *piShowCmd=0;
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetShowCmd(IShellLink * iface, INT iShowCmd) static HRESULT WINAPI IShellLinkA_fnSetShowCmd(IShellLinkA * iface, INT iShowCmd)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
FIXME("(%p)->(showcmd=%x)\n",This, iShowCmd); FIXME("(%p)->(showcmd=%x)\n",This, iShowCmd);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnGetIconLocation(IShellLink * iface, LPSTR pszIconPath,INT cchIconPath,INT *piIcon) static HRESULT WINAPI IShellLinkA_fnGetIconLocation(IShellLinkA * iface, LPSTR pszIconPath,INT cchIconPath,INT *piIcon)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -614,28 +614,28 @@ static HRESULT WINAPI IShellLink_fnGetIconLocation(IShellLink * iface, LPSTR psz
*piIcon=1; *piIcon=1;
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetIconLocation(IShellLink * iface, LPCSTR pszIconPath,INT iIcon) static HRESULT WINAPI IShellLinkA_fnSetIconLocation(IShellLinkA * iface, LPCSTR pszIconPath,INT iIcon)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
FIXME("(%p)->(path=%s iicon=%u)\n",This, pszIconPath, iIcon); FIXME("(%p)->(path=%s iicon=%u)\n",This, pszIconPath, iIcon);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetRelativePath(IShellLink * iface, LPCSTR pszPathRel, DWORD dwReserved) static HRESULT WINAPI IShellLinkA_fnSetRelativePath(IShellLinkA * iface, LPCSTR pszPathRel, DWORD dwReserved)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
FIXME("(%p)->(path=%s %lx)\n",This, pszPathRel, dwReserved); FIXME("(%p)->(path=%s %lx)\n",This, pszPathRel, dwReserved);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnResolve(IShellLink * iface, HWND hwnd, DWORD fFlags) static HRESULT WINAPI IShellLinkA_fnResolve(IShellLinkA * iface, HWND hwnd, DWORD fFlags)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
FIXME("(%p)->(hwnd=%x flags=%lx)\n",This, hwnd, fFlags); FIXME("(%p)->(hwnd=%x flags=%lx)\n",This, hwnd, fFlags);
return NOERROR; return NOERROR;
} }
static HRESULT WINAPI IShellLink_fnSetPath(IShellLink * iface, LPCSTR pszFile) static HRESULT WINAPI IShellLinkA_fnSetPath(IShellLinkA * iface, LPCSTR pszFile)
{ {
ICOM_THIS(IShellLinkImpl, iface); ICOM_THIS(IShellLinkImpl, iface);
@ -647,30 +647,30 @@ static HRESULT WINAPI IShellLink_fnSetPath(IShellLink * iface, LPCSTR pszFile)
* IShellLink Implementation * IShellLink Implementation
*/ */
static ICOM_VTABLE(IShellLink) slvt = static ICOM_VTABLE(IShellLinkA) slvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IShellLink_fnQueryInterface, IShellLinkA_fnQueryInterface,
IShellLink_fnAddRef, IShellLinkA_fnAddRef,
IShellLink_fnRelease, IShellLinkA_fnRelease,
IShellLink_fnGetPath, IShellLinkA_fnGetPath,
IShellLink_fnGetIDList, IShellLinkA_fnGetIDList,
IShellLink_fnSetIDList, IShellLinkA_fnSetIDList,
IShellLink_fnGetDescription, IShellLinkA_fnGetDescription,
IShellLink_fnSetDescription, IShellLinkA_fnSetDescription,
IShellLink_fnGetWorkingDirectory, IShellLinkA_fnGetWorkingDirectory,
IShellLink_fnSetWorkingDirectory, IShellLinkA_fnSetWorkingDirectory,
IShellLink_fnGetArguments, IShellLinkA_fnGetArguments,
IShellLink_fnSetArguments, IShellLinkA_fnSetArguments,
IShellLink_fnGetHotkey, IShellLinkA_fnGetHotkey,
IShellLink_fnSetHotkey, IShellLinkA_fnSetHotkey,
IShellLink_fnGetShowCmd, IShellLinkA_fnGetShowCmd,
IShellLink_fnSetShowCmd, IShellLinkA_fnSetShowCmd,
IShellLink_fnGetIconLocation, IShellLinkA_fnGetIconLocation,
IShellLink_fnSetIconLocation, IShellLinkA_fnSetIconLocation,
IShellLink_fnSetRelativePath, IShellLinkA_fnSetRelativePath,
IShellLink_fnResolve, IShellLinkA_fnResolve,
IShellLink_fnSetPath IShellLinkA_fnSetPath
}; };
@ -682,7 +682,7 @@ static HRESULT WINAPI IShellLinkW_fnQueryInterface(
{ {
_ICOM_THIS_From_IShellLinkW(IShellLinkImpl, iface); _ICOM_THIS_From_IShellLinkW(IShellLinkImpl, iface);
return IShellLink_QueryInterface((IShellLink*)This, riid, ppvObj); return IShellLinkA_QueryInterface((IShellLinkA*)This, riid, ppvObj);
} }
/****************************************************************************** /******************************************************************************
@ -694,7 +694,7 @@ static ULONG WINAPI IShellLinkW_fnAddRef(IShellLinkW * iface)
TRACE("(%p)->(count=%lu)\n",This,This->ref); TRACE("(%p)->(count=%lu)\n",This,This->ref);
return IShellLink_AddRef((IShellLink*)This); return IShellLinkA_AddRef((IShellLinkA*)This);
} }
/****************************************************************************** /******************************************************************************
* IShellLinkW_fnRelease * IShellLinkW_fnRelease
@ -706,7 +706,7 @@ static ULONG WINAPI IShellLinkW_fnRelease(IShellLinkW * iface)
TRACE("(%p)->(count=%lu)\n",This,This->ref); TRACE("(%p)->(count=%lu)\n",This,This->ref);
return IShellLink_Release((IShellLink*)This); return IShellLinkA_Release((IShellLinkA*)This);
} }
static HRESULT WINAPI IShellLinkW_fnGetPath(IShellLinkW * iface, LPWSTR pszFile,INT cchMaxPath, WIN32_FIND_DATAA *pfd, DWORD fFlags) static HRESULT WINAPI IShellLinkW_fnGetPath(IShellLinkW * iface, LPWSTR pszFile,INT cchMaxPath, WIN32_FIND_DATAA *pfd, DWORD fFlags)

View File

@ -18,11 +18,7 @@ extern "C" {
/***************************************************************************** /*****************************************************************************
* Predeclare the interfaces * Predeclare the interfaces
*/ */
DEFINE_SHLGUID(IID_IShellLink, 0x000214EEL, 0, 0); typedef struct IShellLinkA IShellLinkA,*LPSHELLLINK;
typedef struct IShellLink IShellLink,*LPSHELLLINK;
#define IShellLinkA IShellLink
DEFINE_SHLGUID(IID_IShellLinkW, 0x000214F9L, 0, 0);
typedef struct IShellLinkW IShellLinkW,*LPSHELLLINKW; typedef struct IShellLinkW IShellLinkW,*LPSHELLLINKW;
/***************************************************************************** /*****************************************************************************
@ -44,8 +40,8 @@ typedef enum
/***************************************************************************** /*****************************************************************************
* IShellLink interface * IShellLink interface
*/ */
#define ICOM_INTERFACE IShellLink #define ICOM_INTERFACE IShellLinkA
#define IShellLink_METHODS \ #define IShellLinkA_METHODS \
ICOM_METHOD4( HRESULT, GetPath, LPSTR, pszFile, INT, cchMaxPath, WIN32_FIND_DATAA *, pfd, DWORD, fFlags) \ ICOM_METHOD4( HRESULT, GetPath, LPSTR, pszFile, INT, cchMaxPath, WIN32_FIND_DATAA *, pfd, DWORD, fFlags) \
ICOM_METHOD1( HRESULT, GetIDList, LPITEMIDLIST *, ppidl) \ ICOM_METHOD1( HRESULT, GetIDList, LPITEMIDLIST *, ppidl) \
ICOM_METHOD1( HRESULT, SetIDList, LPCITEMIDLIST, pidl) \ ICOM_METHOD1( HRESULT, SetIDList, LPCITEMIDLIST, pidl) \
@ -64,35 +60,35 @@ typedef enum
ICOM_METHOD2( HRESULT, SetRelativePath, LPCSTR, pszPathRel, DWORD, dwReserved) \ ICOM_METHOD2( HRESULT, SetRelativePath, LPCSTR, pszPathRel, DWORD, dwReserved) \
ICOM_METHOD2( HRESULT, Resolve, HWND, hwnd, DWORD, fFlags) \ ICOM_METHOD2( HRESULT, Resolve, HWND, hwnd, DWORD, fFlags) \
ICOM_METHOD1( HRESULT, SetPath, LPCSTR, pszFile) ICOM_METHOD1( HRESULT, SetPath, LPCSTR, pszFile)
#define IShellLink_IMETHODS \ #define IShellLinkA_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IShellLink_METHODS IShellLinkA_METHODS
ICOM_DEFINE(IShellLink,IUnknown) ICOM_DEFINE(IShellLinkA,IUnknown)
#undef ICOM_INTERFACE #undef ICOM_INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellLink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellLinkA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IShellLink_AddRef(p) ICOM_CALL (AddRef,p) #define IShellLinkA_AddRef(p) ICOM_CALL (AddRef,p)
#define IShellLink_Release(p) ICOM_CALL (Release,p) #define IShellLinkA_Release(p) ICOM_CALL (Release,p)
/*** IShellLink methods ***/ /*** IShellLink methods ***/
#define IShellLink_GetPath(p,a,b,c,d) ICOM_CALL4(GetPath,p,a,b,c,d) #define IShellLinkA_GetPath(p,a,b,c,d) ICOM_CALL4(GetPath,p,a,b,c,d)
#define IShellLink_GetIDList(p,a) ICOM_CALL1(GetIDList,p,a) #define IShellLinkA_GetIDList(p,a) ICOM_CALL1(GetIDList,p,a)
#define IShellLink_SetIDList(p,a) ICOM_CALL1(SetIDList,p,a) #define IShellLinkA_SetIDList(p,a) ICOM_CALL1(SetIDList,p,a)
#define IShellLink_GetDescription(p,a,b) ICOM_CALL2(GetDescription,p,a,b) #define IShellLinkA_GetDescription(p,a,b) ICOM_CALL2(GetDescription,p,a,b)
#define IShellLink_SetDescription(p,a) ICOM_CALL1(SetDescription,p,a) #define IShellLinkA_SetDescription(p,a) ICOM_CALL1(SetDescription,p,a)
#define IShellLink_GetWorkingDirectory(p,a,b) ICOM_CALL2(GetWorkingDirectory,p,a,b) #define IShellLinkA_GetWorkingDirectory(p,a,b) ICOM_CALL2(GetWorkingDirectory,p,a,b)
#define IShellLink_SetWorkingDirectory(p,a) ICOM_CALL1(SetWorkingDirectory,p,a) #define IShellLinkA_SetWorkingDirectory(p,a) ICOM_CALL1(SetWorkingDirectory,p,a)
#define IShellLink_GetArguments(p,a,b) ICOM_CALL2(GetArguments,p,a,b) #define IShellLinkA_GetArguments(p,a,b) ICOM_CALL2(GetArguments,p,a,b)
#define IShellLink_SetArguments(p,a) ICOM_CALL1(SetArguments,p,a) #define IShellLinkA_SetArguments(p,a) ICOM_CALL1(SetArguments,p,a)
#define IShellLink_GetHotkey(p,a) ICOM_CALL1(GetHotkey,p,a) #define IShellLinkA_GetHotkey(p,a) ICOM_CALL1(GetHotkey,p,a)
#define IShellLink_SetHotkey(p,a) ICOM_CALL1(SetHotkey,p,a) #define IShellLinkA_SetHotkey(p,a) ICOM_CALL1(SetHotkey,p,a)
#define IShellLink_GetShowCmd(p,a) ICOM_CALL1(GetShowCmd,p,a) #define IShellLinkA_GetShowCmd(p,a) ICOM_CALL1(GetShowCmd,p,a)
#define IShellLink_SetShowCmd(p,a) ICOM_CALL1(SetShowCmd,p,a) #define IShellLinkA_SetShowCmd(p,a) ICOM_CALL1(SetShowCmd,p,a)
#define IShellLink_GetIconLocation(p,a,b,c) ICOM_CALL3(GetIconLocation,p,a,b,c) #define IShellLinkA_GetIconLocation(p,a,b,c) ICOM_CALL3(GetIconLocation,p,a,b,c)
#define IShellLink_SetIconLocation(p,a,b) ICOM_CALL2(SetIconLocation,p,a,b) #define IShellLinkA_SetIconLocation(p,a,b) ICOM_CALL2(SetIconLocation,p,a,b)
#define IShellLink_SetRelativePath(p,a,b) ICOM_CALL2(SetRelativePath,p,a,b) #define IShellLinkA_SetRelativePath(p,a,b) ICOM_CALL2(SetRelativePath,p,a,b)
#define IShellLink_Resolve(p,a,b) ICOM_CALL2(Resolve,p,a,b) #define IShellLinkA_Resolve(p,a,b) ICOM_CALL2(Resolve,p,a,b)
#define IShellLink_SetPath(p,a) ICOM_CALL1(SetPath,p,a) #define IShellLinkA_SetPath(p,a) ICOM_CALL1(SetPath,p,a)
/***************************************************************************** /*****************************************************************************
* IShellLinkW interface * IShellLinkW interface
@ -145,7 +141,7 @@ ICOM_DEFINE(IShellLinkW,IUnknown)
#define IShellLinkW_SetIconLocation(p,a,b) ICOM_CALL2(SetIconLocation,p,a,b) #define IShellLinkW_SetIconLocation(p,a,b) ICOM_CALL2(SetIconLocation,p,a,b)
#define IShellLinkW_SetRelativePath(p,a,b) ICOM_CALL2(SetRelativePath,p,a,b) #define IShellLinkW_SetRelativePath(p,a,b) ICOM_CALL2(SetRelativePath,p,a,b)
#define IShellLinkW_Resolve(p,a,b) ICOM_CALL2(Resolve,p,a,b) #define IShellLinkW_Resolve(p,a,b) ICOM_CALL2(Resolve,p,a,b)
#define IShellLinkW_SetPath(p,a) ICOM_CALL1(SetPath,p,a) #define IShellLinkW_SetPath(p,a) ICOM_CALL1(SetPath,p,a)
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ } /* extern "C" */