4 * Copyright 1997 Marcus Meissner
14 #include "interfaces.h"
17 /******************************************************************************
18 * IEnumIDList implementation
21 static ULONG WINAPI
IEnumIDList_AddRef(LPENUMIDLIST
this) {
22 TRACE(ole
,"(%p)->()\n",this);
26 static ULONG WINAPI
IEnumIDList_Release(LPENUMIDLIST
this) {
27 TRACE(ole
,"(%p)->()\n",this);
29 WARN(ole
," freeing IEnumIDList(%p)\n",this);
30 HeapFree(GetProcessHeap(),0,this);
36 static HRESULT WINAPI
IEnumIDList_Next(
37 LPENUMIDLIST
this,ULONG celt
,LPITEMIDLIST
*rgelt
,ULONG
*pceltFetched
39 FIXME(ole
,"(%p)->(%ld,%p,%p),stub!\n",
40 this,celt
,rgelt
,pceltFetched
42 *pceltFetched
= 0; /* we don't have any ... */
46 static IEnumIDList_VTable eidlvt
= {
56 LPENUMIDLIST
IEnumIDList_Constructor() {
59 lpeidl
= (LPENUMIDLIST
)HeapAlloc(GetProcessHeap(),0,sizeof(IEnumIDList
));
61 lpeidl
->lpvtbl
= &eidlvt
;
65 /******************************************************************************
66 * IShellFolder implementation
68 static ULONG WINAPI
IShellFolder_Release(LPSHELLFOLDER
this) {
69 TRACE(ole
,"(%p)->()\n",this);
71 WARN(ole
," freeing IShellFolder(%p)\n",this);
72 HeapFree(GetProcessHeap(),0,this);
78 static ULONG WINAPI
IShellFolder_AddRef(LPSHELLFOLDER
this) {
79 TRACE(ole
,"(%p)->()\n",this);
83 static HRESULT WINAPI
IShellFolder_GetAttributesOf(
84 LPSHELLFOLDER
this,UINT32 cidl
,LPCITEMIDLIST
*apidl
,DWORD
*rgfInOut
86 FIXME(ole
,"(%p)->(%d,%p,%p),stub!\n",
87 this,cidl
,apidl
,rgfInOut
92 static HRESULT WINAPI
IShellFolder_BindToObject(
93 LPSHELLFOLDER
this,LPCITEMIDLIST pidl
,LPBC pbcReserved
,REFIID riid
,LPVOID
* ppvOut
97 WINE_StringFromCLSID(riid
,xclsid
);
98 FIXME(ole
,"(%p)->(%p,%p,%s,%p),stub!\n",
99 this,pidl
,pbcReserved
,xclsid
,ppvOut
101 *ppvOut
= IShellFolder_Constructor();
105 static HRESULT WINAPI
IShellFolder_ParseDisplayName(
106 LPSHELLFOLDER
this,HWND32 hwndOwner
,LPBC pbcReserved
,
107 LPOLESTR32 lpszDisplayName
,DWORD
*pchEaten
,LPITEMIDLIST
*ppidl
,
110 FIXME(ole
,"(%p)->(%08x,%p,%p,%p,%p,%p),stub!\n",
111 this,hwndOwner
,pbcReserved
,lpszDisplayName
,pchEaten
,ppidl
,pdwAttributes
114 *(DWORD
*)pbcReserved
= 0;
118 static HRESULT WINAPI
IShellFolder_EnumObjects(
119 LPSHELLFOLDER
this,HWND32 hwndOwner
,DWORD grfFlags
,
120 LPENUMIDLIST
* ppenumIDList
122 FIXME(ole
,"(%p)->(0x%04x,0x%08lx,%p),stub!\n",
123 this,hwndOwner
,grfFlags
,ppenumIDList
125 *ppenumIDList
= IEnumIDList_Constructor();
129 static HRESULT WINAPI
IShellFolder_CreateViewObject(
130 LPSHELLFOLDER
this,HWND32 hwndOwner
,REFIID riid
,LPVOID
*ppv
134 WINE_StringFromCLSID(riid
,xclsid
);
135 FIXME(ole
,"(%p)->(0x%04x,%s,%p),stub!\n",
136 this,hwndOwner
,xclsid
,ppv
143 static struct IShellFolder_VTable sfvt
= {
146 IShellFolder_Release
,
147 IShellFolder_ParseDisplayName
,
148 IShellFolder_EnumObjects
,
149 IShellFolder_BindToObject
,
152 IShellFolder_CreateViewObject
,
153 IShellFolder_GetAttributesOf
,
159 LPSHELLFOLDER
IShellFolder_Constructor() {
162 sf
= (LPSHELLFOLDER
)HeapAlloc(GetProcessHeap(),0,sizeof(IShellFolder
));
168 static struct IShellLink_VTable slvt
= {
192 LPSHELLLINK
IShellLink_Constructor() {
195 sl
= (LPSHELLLINK
)HeapAlloc(GetProcessHeap(),0,sizeof(IShellLink
));