Skip to content

Commit 769462f

Browse files
authored
[IEFRAME] Implement URL PIDL (reactos#7850)
1 parent 13657fd commit 769462f

File tree

5 files changed

+417
-0
lines changed

5 files changed

+417
-0
lines changed

dll/win32/ieframe/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ list(APPEND SOURCE
1313
ieframe_main.c
1414
iehtmlwnd.c
1515
iexplore.c
16+
inetfolder.c
1617
intshcut.c
1718
navigate.c
1819
oleobject.c

dll/win32/ieframe/ieframe_main.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,20 @@ static const IClassFactoryVtbl CUrlHistoryFactoryVtbl = {
178178

179179
static IClassFactory CUrlHistoryFactory = { &CUrlHistoryFactoryVtbl };
180180

181+
#ifdef __REACTOS__
182+
extern HRESULT WINAPI CInternetFolder_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv);
183+
184+
static const IClassFactoryVtbl CInternetFolderFactoryVtbl = {
185+
ClassFactory_QueryInterface,
186+
ClassFactory_AddRef,
187+
ClassFactory_Release,
188+
CInternetFolder_CreateInstance,
189+
ClassFactory_LockServer
190+
};
191+
192+
static IClassFactory CInternetFolderFactory = { &CInternetFolderFactoryVtbl };
193+
#endif
194+
181195
/******************************************************************
182196
* DllMain (ieframe.@)
183197
*/
@@ -226,6 +240,13 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
226240
return IClassFactory_QueryInterface(&CUrlHistoryFactory, riid, ppv);
227241
}
228242

243+
#ifdef __REACTOS__
244+
if(IsEqualGUID(&CLSID_Internet, rclsid)) {
245+
TRACE("(CLSID_Internet %s %p)\n", debugstr_guid(riid), ppv);
246+
return IClassFactory_QueryInterface(&CInternetFolderFactory, riid, ppv);
247+
}
248+
#endif
249+
229250
FIXME("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
230251
return CLASS_E_CLASSNOTAVAILABLE;
231252
}

0 commit comments

Comments
 (0)