55 debugstr_w(pwzFriendlyName), pihlsite, dwSiteData, piunkOuter,
62 IHlink_SetMonikerReference(hl, HLINKSETF_LOCATION | HLINKSETF_TARGET, pimkTrgt, pwzLocation);
65 IHlink_SetFriendlyName(hl, pwzFriendlyName);
67 IHlink_SetHlinkSite(hl, pihlsite, dwSiteData);
69 hr = IHlink_QueryInterface(hl,
riid, ppvObj);
91 hr =
CoCreateInstance(&CLSID_StdHlink, piunkOuter, CLSCTX_INPROC_SERVER, &IID_IHlink, (
void **)&hl);
100 if (
hash == pwzTarget)
104 int tgt_len =
hash - pwzTarget;
130 IHlink_SetStringReference(hl, HLINKSETF_TARGET | HLINKSETF_LOCATION, tgt, loc);
135 IHlink_SetFriendlyName(hl, pwzFriendlyName);
138 IHlink_SetHlinkSite(hl, pihlsite, dwSiteData);
140 hr = IHlink_QueryInterface(hl,
riid, ppvObj);
153 return CoCreateInstance(&CLSID_StdHlinkBrowseContext, piunkOuter, CLSCTX_INPROC_SERVER,
riid, ppvObj);
165 TRACE(
"%p %p %li %p %p %p\n", phl, phlFrame, grfHLNF, pbc, pbsc, phlbc);
168 r = IHlinkFrame_Navigate(phlFrame, grfHLNF, pbc, pbsc, phl);
170 r = IHlink_Navigate(phl, grfHLNF, pbc, pbsc, phlbc);
184 TRACE(
"%p %p %li %p %s %s %p\n",phlFrame, phlbc, grfHLNF, pmkTarget,
187 r = IHlinkBrowseContext_OnNavigateHlink(phlbc, grfHLNF, pmkTarget,
188 pwzLocation, pwzFriendlyName, puHLID);
191 r = IHlinkFrame_OnNavigate(phlFrame,grfHLNF,pmkTarget, pwzLocation,
204 FIXME(
"%p, %p, %ld, %p, %s, %p\n", piDataObj, pihlsite, dwSiteData,
215 FIXME(
"%p\n", piDataObj);
230 TRACE(
"%s %s %p %08lx %p %08lx %p %p %p\n",
232 dwSiteData, pihlframe, grfHLNF, pibc, pibsc, pihlbc);
235 dwSiteData,
NULL, &IID_IHlink, (
LPVOID*) &hlink );
237 r =
HlinkNavigate(hlink, pihlframe, grfHLNF, pibc, pibsc, pihlbc);
238 IHlink_Release(hlink);
273 TRACE(
"(%lu %p)\n", uReference, ppwzReference);
275 *ppwzReference =
NULL;
279 value_name =
L"Start Page";
282 value_name =
L"Search Page";
292 WARN(
"Could not open key: %lu\n",
res);
308 *ppwzReference =
buf;
317 FIXME(
"(%s %08lx %p)\n",
debugstr_w(pwzURL), grfFlags, ppwzTranslatedURL);
350 TRACE(
"(%p %s %x %p %p)\n", pibc,
debugstr_w(pwzDisplayName), fNoForceAbs, pcchEaten, ppimk);
353 FIXME(
"Unsupported fNoForceAbs\n");
357 pwzDisplayName +=
len;
360 while(*pwzDisplayName ==
'/') {
376 *pcchEaten = eaten +
lstrlenW(pwzDisplayName);
393 TRACE(
"(%p %lx %p %ld %p %p %p)\n", pimkReference,
reserved, pibc, cFmtetc, rgFmtetc, pibsc, pimkBase);
395 if(cFmtetc || rgFmtetc || pimkBase)
396 FIXME(
"Unsupported args\n");
402 hres = IMoniker_IsSystemMoniker(pimkReference, &mksys);
404 WARN(
"sysmk = %lx\n", mksys);
408 hres = IMoniker_GetDisplayName(pimkReference, bctx,
NULL, &
name);
409 IBindCtx_Release(bctx);
433 hres = IHlink_GetMonikerReference(hlink, HLINKGETREF_DEFAULT, &mk, &loc);
443 IMoniker_Release(mk);
449 IStream_Release(strm);
450 IMoniker_Release(mk);
453 IMoniker_Release(mk);
456 hres = IStream_Seek(strm, lgint, STREAM_SEEK_SET,
NULL);
458 IStream_Release(strm);
463 IStream_Release(strm);
468 hres = IHlink_GetFriendlyName(hlink, HLFNAMEF_DEFAULT, &
name);
477 IMoniker_Release(clone_mk);
495 *ppvObj = &
This->IClassFactory_iface;
499 TRACE(
"-- E_NOINTERFACE\n");
522 return This->lpfnCI(pUnkOuter,
riid, ppvObject);
527 FIXME(
"%p %d\n", iface, fLock);
558 else if (
IsEqualIID(rclsid, &CLSID_StdHlinkBrowseContext))
563 return IClassFactory_QueryInterface(pcf, iid,
ppv);
#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)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL delete_on_release, IStream **stream)
void *WINAPI CoTaskMemAlloc(SIZE_T size)
void *WINAPI CoTaskMemRealloc(void *ptr, SIZE_T size)
void WINAPI CoTaskMemFree(void *ptr)
HRESULT HLinkBrowseContext_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv)
static void cleanup(void)
static wchar_t * wcsdup(const wchar_t *str)
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 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
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 HRESULT WINAPI HLinkCF_fnCreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObject)
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)
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)
HRESULT HLink_Constructor(IUnknown *, REFIID, void **)
#define memcpy(s1, s2, n)
static const WCHAR friendly_name[]
interface IMoniker * LPMONIKER
interface IBindCtx * LPBC
HRESULT WINAPI CreateBindCtx(DWORD reserved, IBindCtx **bind_context)
#define IsEqualIID(riid1, riid2)
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)
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define CLASS_E_CLASSNOTAVAILABLE
#define HKEY_CURRENT_USER