79 debugstr_w(pwzFriendlyName), pihlsite, dwSiteData, piunkOuter,
86 IHlink_SetMonikerReference(hl, HLINKSETF_LOCATION | HLINKSETF_TARGET, pimkTrgt, pwzLocation);
89 IHlink_SetFriendlyName(hl, pwzFriendlyName);
91 IHlink_SetHlinkSite(hl, pihlsite, dwSiteData);
125 if (
hash == pwzTarget)
129 int tgt_len =
hash - pwzTarget;
155 IHlink_SetStringReference(hl, HLINKSETF_TARGET | HLINKSETF_LOCATION, tgt, loc);
160 IHlink_SetFriendlyName(hl, pwzFriendlyName);
163 IHlink_SetHlinkSite(hl, pihlsite, dwSiteData);
165 TRACE(
"Returning %i\n",
r);
178 return CoCreateInstance(&CLSID_StdHlinkBrowseContext, piunkOuter, CLSCTX_INPROC_SERVER,
riid, ppvObj);
190 TRACE(
"%p %p %i %p %p %p\n", phl, phlFrame, grfHLNF, pbc, pbsc, phlbc);
193 r = IHlinkFrame_Navigate(phlFrame, grfHLNF, pbc, pbsc, phl);
195 r = IHlink_Navigate(phl, grfHLNF, pbc, pbsc, phlbc);
209 TRACE(
"%p %p %i %p %s %s %p\n",phlFrame, phlbc, grfHLNF, pmkTarget,
212 r = IHlinkBrowseContext_OnNavigateHlink(phlbc, grfHLNF, pmkTarget,
213 pwzLocation, pwzFriendlyName, puHLID);
216 r = IHlinkFrame_OnNavigate(phlFrame,grfHLNF,pmkTarget, pwzLocation,
229 FIXME(
"%p, %p, %d, %p, %s, %p\n", piDataObj, pihlsite, dwSiteData,
240 FIXME(
"%p\n", piDataObj);
255 TRACE(
"%s %s %p %08x %p %08x %p %p %p\n",
257 dwSiteData, pihlframe, grfHLNF, pibc, pibsc, pihlbc);
260 dwSiteData,
NULL, &IID_IHlink, (
LPVOID*) &hlink );
262 r =
HlinkNavigate(hlink, pihlframe, grfHLNF, pibc, pibsc, pihlbc);
263 IHlink_Release(hlink);
276 static const WCHAR url_ext[] = {
'.',
'u',
'r',
'l',0};
300 static const WCHAR start_pageW[] = {
'S',
't',
'a',
'r',
't',
' ',
'P',
'a',
'g',
'e',0};
301 static const WCHAR search_pageW[] = {
'S',
'e',
'a',
'r',
'c',
'h',
' ',
'P',
'a',
'g',
'e',0};
303 static const WCHAR ie_main_keyW[] =
304 {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
305 '\\',
'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
306 'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
307 '\\',
'M',
'a',
'i',
'n',0};
309 TRACE(
"(%u %p)\n", uReference, ppwzReference);
311 *ppwzReference =
NULL;
315 value_name = start_pageW;
318 value_name = search_pageW;
328 WARN(
"Could not open key: %u\n",
res);
344 *ppwzReference =
buf;
353 FIXME(
"(%s %08x %p)\n",
debugstr_w(pwzURL), grfFlags, ppwzTranslatedURL);
383 static const WCHAR file_colonW[] = {
'f',
'i',
'l',
'e',
':'};
387 TRACE(
"(%p %s %x %p %p)\n", pibc,
debugstr_w(pwzDisplayName), fNoForceAbs, pcchEaten, ppimk);
390 FIXME(
"Unsupported fNoForceAbs\n");
396 while(*pwzDisplayName ==
'/') {
412 *pcchEaten = eaten +
lstrlenW(pwzDisplayName);
429 TRACE(
"(%p %x %p %d %p %p %p)\n", pimkReference,
reserved, pibc, cFmtetc, rgFmtetc, pibsc, pimkBase);
431 if(cFmtetc || rgFmtetc || pimkBase)
432 FIXME(
"Unsupported args\n");
438 hres = IMoniker_IsSystemMoniker(pimkReference, &mksys);
440 WARN(
"sysmk = %x\n", mksys);
444 hres = IMoniker_GetDisplayName(pimkReference, bctx,
NULL, &
name);
445 IBindCtx_Release(bctx);
469 hres = IHlink_GetMonikerReference(hlink, HLINKGETREF_DEFAULT, &mk, &loc);
479 IMoniker_Release(mk);
485 IStream_Release(strm);
486 IMoniker_Release(mk);
489 IMoniker_Release(mk);
492 hres = IStream_Seek(strm, lgint, STREAM_SEEK_SET,
NULL);
494 IStream_Release(strm);
499 IStream_Release(strm);
504 hres = IHlink_GetFriendlyName(hlink, HLFNAMEF_DEFAULT, &
name);
513 IMoniker_Release(clone_mk);
531 *ppvObj = &
This->IClassFactory_iface;
535 TRACE(
"-- E_NOINTERFACE\n");
563 FIXME(
"%p %d\n", iface, fLock);
594 else if (
IsEqualIID(rclsid, &CLSID_StdHlinkBrowseContext))
599 return IClassFactory_QueryInterface(pcf, iid,
ppv);
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
const GUID IID_IClassFactory
#define RegCloseKey(hKey)
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define DLL_PROCESS_ATTACH
HRESULT HLinkBrowseContext_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv)
static void cleanup(void)
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
HRESULT WINAPI MkParseDisplayName(LPBC pbc, LPCOLESTR szDisplayName, LPDWORD pchEaten, LPMONIKER *ppmk)
HRESULT WINAPI OleLoadFromStream(IStream *pStm, REFIID iidInterface, void **ppvObj)
HRESULT WINAPI OleSaveToStream(IPersistStream *pPStm, IStream *pStm)
HRESULT WINAPI CreateFileMoniker(LPCOLESTR lpszPathName, IMoniker **ppmk)
GLuint GLuint GLsizei GLenum type
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
HRESULT(* LPFNCREATEINSTANCE)(IUnknown *, REFIID, LPVOID *)
HRESULT WINAPI HlinkNavigateToStringReference(LPCWSTR pwzTarget, LPCWSTR pwzLocation, IHlinkSite *pihlsite, DWORD dwSiteData, IHlinkFrame *pihlframe, DWORD grfHLNF, LPBC pibc, IBindStatusCallback *pibsc, IHlinkBrowseContext *pihlbc)
static const IClassFactoryVtbl hlcfvt
HRESULT WINAPI DllRegisterServer(void)
HRESULT WINAPI HlinkCreateFromData(IDataObject *piDataObj, IHlinkSite *pihlsite, DWORD dwSiteData, IUnknown *piunkOuter, REFIID riid, void **ppvObj)
HRESULT WINAPI HlinkCreateFromString(LPCWSTR pwzTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, IHlinkSite *pihlsite, DWORD dwSiteData, IUnknown *piunkOuter, REFIID riid, void **ppvObj)
static CFImpl * impl_from_IClassFactory(IClassFactory *iface)
static CFImpl HLinkBrowseContext_cf
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
HRESULT WINAPI HlinkClone(IHlink *hlink, REFIID riid, IHlinkSite *hls, DWORD site_data, void **obj)
HRESULT WINAPI HlinkParseDisplayName(LPBC pibc, LPCWSTR pwzDisplayName, BOOL fNoForceAbs, ULONG *pcchEaten, IMoniker **ppimk)
static HINSTANCE instance
static HRESULT WINAPI HLinkCF_fnCreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObject)
HRESULT WINAPI DllUnregisterServer(void)
HRESULT WINAPI HlinkNavigate(IHlink *phl, IHlinkFrame *phlFrame, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pbsc, IHlinkBrowseContext *phlbc)
static HRESULT WINAPI HLinkCF_fnLockServer(LPCLASSFACTORY iface, BOOL fLock)
HRESULT WINAPI HlinkOnNavigate(IHlinkFrame *phlFrame, IHlinkBrowseContext *phlbc, DWORD grfHLNF, IMoniker *pmkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, ULONG *puHLID)
static HRESULT WINAPI HLinkCF_fnQueryInterface(LPCLASSFACTORY iface, REFIID riid, LPVOID *ppvObj)
HRESULT WINAPI HlinkIsShortcut(LPCWSTR pwzFileName)
HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER pimkReference, DWORD reserved, LPBC pibc, ULONG cFmtetc, FORMATETC *rgFmtetc, IBindStatusCallback *pibsc, LPMONIKER pimkBase)
HRESULT WINAPI HlinkTranslateURL(LPCWSTR pwzURL, DWORD grfFlags, LPWSTR *ppwzTranslatedURL)
HRESULT WINAPI HlinkCreateFromMoniker(IMoniker *pimkTrgt, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, IHlinkSite *pihlsite, DWORD dwSiteData, IUnknown *piunkOuter, REFIID riid, void **ppvObj)
HRESULT WINAPI DllCanUnloadNow(void)
static ULONG WINAPI HLinkCF_fnAddRef(LPCLASSFACTORY iface)
HRESULT WINAPI HlinkQueryCreateFromData(IDataObject *piDataObj)
HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference)
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
HRESULT WINAPI HlinkCreateBrowseContext(IUnknown *piunkOuter, REFIID riid, void **ppvObj)
HRESULT WINAPI HlinkUpdateStackItem(IHlinkFrame *frame, IHlinkBrowseContext *bc, ULONG hlid, IMoniker *target, LPCWSTR location, LPCWSTR friendly_name)
static ULONG WINAPI HLinkCF_fnRelease(LPCLASSFACTORY iface)
static LPWSTR hlink_strdupW(LPCWSTR str)
HRESULT HLink_Constructor(IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
LPVOID WINAPI CoTaskMemRealloc(LPVOID pvOld, SIZE_T size)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
static IN DWORD IN LPVOID lpvReserved
#define memcpy(s1, s2, n)
static const WCHAR friendly_name[]
interface IMoniker * LPMONIKER
interface IBindCtx * LPBC
HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC *ppbc)
#define IsEqualIID(riid1, riid2)
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
IClassFactory IClassFactory_iface
LPFNCREATEINSTANCE lpfnCI
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, LPMONIKER *ppmk)
HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbscPrevious, DWORD dwReserved)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define HRESULT_FROM_WIN32(x)
#define CLASS_E_CLASSNOTAVAILABLE
#define HKEY_CURRENT_USER