diff --git a/reactos/lib/urlmon/urlmon.spec b/reactos/lib/urlmon/urlmon.spec index f6ca4356e3c..0a7b1b2b70b 100644 --- a/reactos/lib/urlmon/urlmon.spec +++ b/reactos/lib/urlmon/urlmon.spec @@ -33,7 +33,7 @@ @ stdcall -private DllRegisterServerEx() URLMON_DllRegisterServerEx @ stdcall -private DllUnregisterServer() URLMON_DllUnregisterServer @ stdcall Extract(long ptr) cabinet.Extract -@ stub FaultInIEFeature +@ stdcall FaultInIEFeature(long ptr ptr long) @ stub FindMediaType @ stub FindMediaTypeClass @ stdcall FindMimeFromData(long ptr ptr long ptr long ptr long) diff --git a/reactos/lib/urlmon/urlmon_main.c b/reactos/lib/urlmon/urlmon_main.c index 93439f48196..a02ab4881a0 100644 --- a/reactos/lib/urlmon/urlmon_main.c +++ b/reactos/lib/urlmon/urlmon_main.c @@ -329,3 +329,15 @@ HRESULT WINAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved) return S_OK; } + +/************************************************************************** + * FaultInIEFeature (URLMON.@) + * + * Undocumented. Appears to be used by native shdocvw.dll. + */ +HRESULT WINAPI FaultInIEFeature( HWND hwnd, uCLSSPEC * pClassSpec, + QUERYCONTEXT *pQuery, DWORD flags ) +{ + FIXME("%p %p %p %08lx\n", hwnd, pClassSpec, pQuery, flags); + return E_NOTIMPL; +} diff --git a/reactos/w32api/include/wtypes.h b/reactos/w32api/include/wtypes.h index 0beb1f66119..18a963bf3ac 100644 --- a/reactos/w32api/include/wtypes.h +++ b/reactos/w32api/include/wtypes.h @@ -160,6 +160,37 @@ typedef struct tagDEC { }; } DECIMAL; typedef void *HMETAFILEPICT; +typedef struct tagCSPLATFORM { + DWORD dwPlatformId; + DWORD dwVersionHi; + DWORD dwVersionLo; + DWORD dwProcessorArch; +} CSPLATFORM; +typedef struct tagQUERYCONTEXT { + DWORD dwContext; + CSPLATFORM Platform; + LCID Locale; + DWORD dwVersionHi; + DWORD dwVersionLo; +} QUERYCONTEXT; +typedef struct { + DWORD tyspec; + union { + CLSID clsid; + LPOLESTR pFileExt; + LPOLESTR pMimeType; + LPOLESTR pProgId; + LPOLESTR pFileName; + struct { + LPOLESTR pPackageName; + GUID PolicyId; + } ByName; + struct { + GUID ObjectId; + GUID PolicyId; + } ByObjectId; + } tagged_union; +} uCLSSPEC; #ifdef __cplusplus } #endif