73 *
ppv = &
This->IUriContainer_iface;
103 IUri_Release(
This->uri);
123 *pClassID = CLSID_StdURLMoniker;
162 if(got !=
sizeof(
ULONG))
177 hres = IUri_GetDisplayUri(new_uri, &new_url);
179 IUri_Release(new_uri);
185 IUri_Release(
This->uri);
188 This->URLName = new_url;
198 TRACE(
"(%p,%p,%d)\n",
This, pStm, fClearDirty);
234 hres = IBindCtx_GetRunningObjectTable(pbc, &obj_tbl);
236 hres = IRunningObjectTable_IsRunning(obj_tbl, &
This->IMoniker_iface);
240 TRACE(
"Found in running object table\n");
242 hres = IRunningObjectTable_GetObject(obj_tbl, &
This->IMoniker_iface, &unk);
245 IUnknown_Release(unk);
248 IRunningObjectTable_Release(obj_tbl);
252 IRunningObjectTable_Release(obj_tbl);
275 FIXME(
"Unsupported pmkToLeft\n");
288 TRACE(
"(%p,%p,%d,%p,%p)\n",
This, pbc, dwReduceHowFar, ppmkToLeft, ppmkReduced);
293 IMoniker_AddRef(iface);
294 *ppmkReduced = iface;
302 FIXME(
"(%p)->(%p,%d,%p): stub\n",
This,pmkRight,fOnlyIfNotGeneric,ppmkComposite);
310 TRACE(
"(%p,%d,%p)\n",
This, fForward, ppenumMoniker);
316 *ppenumMoniker =
NULL;
328 TRACE(
"(%p,%p)\n",
This, pmkOtherMoniker);
330 if(pmkOtherMoniker==
NULL)
333 IMoniker_GetClassID(pmkOtherMoniker,&
clsid);
349 IBindCtx_Release(
bind);
370 for(
i =
len ;
i > 0;
i--) {
371 h = (
h * 37) +
val[off++];
377 h = (
h * 39) +
val[off];
388 FIXME(
"(%p)->(%p,%p,%p): stub\n",
This,pbc,pmkToLeft,pmkNewlyRunning);
396 FIXME(
"(%p)->(%p,%p,%p): stub\n",
This, pbc, pmkToLeft, pFileTime);
410 FIXME(
"(%p)->(%p,%p): stub\n",
This,pmkOther,ppmkPrefix);
417 FIXME(
"(%p)->(%p,%p): stub\n",
This,pmOther,ppmkRelPath);
427 TRACE(
"(%p,%p,%p,%p)\n",
This, pbc, pmkToLeft, ppszDisplayName);
440 if(!*ppszDisplayName)
450 FIXME(
"(%p)->(%p,%p,%p,%p,%p): stub\n",
This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut);
463 *pwdMksys = MKSYS_URLMONIKER;
502 return IMoniker_QueryInterface(&
This->IMoniker_iface,
riid,
ppv);
508 return IMoniker_AddRef(&
This->IMoniker_iface);
514 return IMoniker_Release(&
This->IMoniker_iface);
528 IUri_AddRef(
This->uri);
589 Uri_CREATE_FILE_USE_DOS_PATH,
591 Uri_CREATE_NO_CANONICALIZE
638 hres = IMoniker_QueryInterface(pmkContext, &IID_IUriContainer, (
void**)&uri_container);
640 hres = IUriContainer_GetIUri(uri_container, &base_uri);
641 IUriContainer_Release(uri_container);
649 IUri_Release(base_uri);
661 *ppmk = &
obj->IMoniker_iface;
675 TRACE(
"(%p %p %p %x)\n", pmkContext, pUri, ppmk,
dwFlags);
689 hres = IMoniker_QueryInterface(pmkContext, &IID_IUriContainer, (
void**)&uri_container);
691 hres = IUriContainer_GetIUri(uri_container, &context_uri);
694 IUriContainer_Release(uri_container);
700 IUri_Release(context_uri);
713 *ppmk = &
ret->IMoniker_iface;
744 TRACE(
"(%p)\n", pmk);
747 if(
SUCCEEDED(IMoniker_QueryInterface(pmk, &IID_IAsyncMoniker, (
void**)&am))) {
748 IUnknown_Release(am);
776 TRACE(
"(%p %08x %p %s %p)\n", pmk, grfOpt, pbsc,
debugstr_guid(iidResult), ppvResult);
778 if (pmk && ppvResult)
785 hr = IMoniker_BindToObject(pmk, pbc,
NULL, iidResult, ppvResult);
786 IBindCtx_Release(pbc);
797 TRACE(
"(%p %s %p %p)\n", pbc,
debugstr_w(szDisplayName), pchEaten, ppmk);
799 if (!pbc || !szDisplayName || !*szDisplayName || !pchEaten || !ppmk)
807 *pchEaten =
lstrlenW(szDisplayName);
826 TRACE(
"(%p %s %p %d %d %p)\n", lpUnkCaller,
debugstr_a(szURL), szFileName,
862 'H',
'T',
'T',
'P',
'/',
'1',
'.',
'0',
' ',
'2',
'0',
'0',
' ',
863 'O',
'K',
'\\',
'r',
'\\',
'n',
'\\',
'r',
'\\',
'n',0
869 if (!szURL || !szFileName)
890 if (
lstrlenW(cache_path) > dwBufLength)
910 hres = IMoniker_GetDisplayName(pmkTarget, pbc, 0, &
target);
930 if (!grfHLNF) grfHLNF = HLNF_OPENINNEWWINDOW;
932 if (grfHLNF == HLNF_OPENINNEWWINDOW)
935 static const WCHAR openW[] = {
'o',
'p',
'e',
'n', 0 };
937 memset(&sei, 0,
sizeof(sei));
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
HRESULT bind_to_storage(IUri *uri, IBindCtx *pbc, REFIID riid, void **ppv)
#define WideCharToMultiByte
#define MultiByteToWideChar
static const WCHAR *const ext[]
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI MkParseDisplayName(LPBC pbc, LPCOLESTR szDisplayName, LPDWORD pchEaten, LPMONIKER *ppmk)
LPWSTR WINAPI PathFindExtensionW(LPCWSTR lpszPath)
BOOL is_registered_protocol(LPCWSTR url)
HRESULT WINAPI CoInternetCombineIUri(IUri *pBaseUri, IUri *pRelativeUri, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
HRESULT WINAPI CoInternetCombineUrlEx(IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
BOOL WINAPI CreateUrlCacheEntryW(LPCWSTR lpszUrlName, DWORD dwExpectedFileSize, LPCWSTR lpszFileExtension, LPWSTR lpszFileName, DWORD dwReserved)
BOOL WINAPI CommitUrlCacheEntryW(LPCWSTR lpszUrlName, LPCWSTR lpszLocalFileName, FILETIME ExpireTime, FILETIME LastModifiedTime, DWORD CacheEntryType, LPWSTR lpHeaderInfo, DWORD dwHeaderSize, LPCWSTR lpszFileExtension, LPCWSTR lpszOriginalUrl)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
static BOOL bind_to_object
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
interface IMoniker * LPMONIKER
interface IBindCtx * LPBC
HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC *ppbc)
UINT WINAPI SysStringLen(BSTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
const GUID IID_IPersistStream
#define IsEqualIID(riid1, riid2)
#define IsEqualCLSID(rclsid1, rclsid2)
#define SEE_MASK_FLAG_NO_UI
#define SEE_MASK_NO_CONSOLE
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
#define URL_DONT_SIMPLIFY
#define URL_FILE_USE_PATHURL
INT WSAAPI bind(IN SOCKET s, IN CONST struct sockaddr *name, IN INT namelen)
IUriContainer IUriContainer_iface
#define CONTAINING_RECORD(address, type, field)
static HRESULT WINAPI URLMoniker_QueryInterface(IMoniker *iface, REFIID riid, void **ppv)
static const DWORD create_flags_map[3]
HRESULT WINAPI BindAsyncMoniker(IMoniker *pmk, DWORD grfOpt, IBindStatusCallback *pbsc, REFIID iidResult, LPVOID *ppvResult)
HRESULT WINAPI HlinkSimpleNavigateToString(LPCWSTR szTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *pbsc, DWORD grfHLNF, DWORD dwReserved)
static HRESULT WINAPI UriContainer_QueryInterface(IUriContainer *iface, REFIID riid, void **ppv)
HRESULT WINAPI HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget)
static HRESULT WINAPI URLMoniker_GetClassID(IMoniker *iface, CLSID *pClassID)
static URLMoniker * impl_from_IMoniker(IMoniker *iface)
static HRESULT WINAPI URLMoniker_CommonPrefixWith(IMoniker *iface, IMoniker *pmkOther, IMoniker **ppmkPrefix)
static HRESULT WINAPI URLMoniker_RelativePathTo(IMoniker *iface, IMoniker *pmOther, IMoniker **ppmkRelPath)
static HRESULT WINAPI URLMoniker_Inverse(IMoniker *iface, IMoniker **ppmk)
static ULONG WINAPI UriContainer_Release(IUriContainer *iface)
HRESULT WINAPI CreateURLMonikerEx(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk, DWORD dwFlags)
HRESULT WINAPI MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, LPMONIKER *ppmk)
static HRESULT WINAPI URLMoniker_BindToObject(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppv)
static HRESULT WINAPI URLMoniker_Hash(IMoniker *iface, DWORD *pdwHash)
static HRESULT WINAPI URLMoniker_Save(IMoniker *iface, IStream *pStm, BOOL fClearDirty)
static HRESULT WINAPI URLMoniker_ComposeWith(IMoniker *iface, IMoniker *pmkRight, BOOL fOnlyIfNotGeneric, IMoniker **ppmkComposite)
static HRESULT WINAPI URLMoniker_GetSizeMax(IMoniker *iface, ULARGE_INTEGER *pcbSize)
static HRESULT WINAPI URLMoniker_ParseDisplayName(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut)
static HRESULT WINAPI URLMoniker_Load(IMoniker *iface, IStream *pStm)
HRESULT StdURLMoniker_Construct(IUnknown *outer, void **ppv)
HRESULT WINAPI URLDownloadToCacheFileW(LPUNKNOWN lpUnkCaller, LPCWSTR szURL, LPWSTR szFileName, DWORD dwBufLength, DWORD dwReserved, LPBINDSTATUSCALLBACK pBSC)
static HRESULT WINAPI URLMoniker_IsEqual(IMoniker *iface, IMoniker *pmkOtherMoniker)
static HRESULT WINAPI URLMoniker_GetTimeOfLastChange(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, FILETIME *pFileTime)
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
HRESULT WINAPI URLDownloadToCacheFileA(LPUNKNOWN lpUnkCaller, LPCSTR szURL, LPSTR szFileName, DWORD dwBufLength, DWORD dwReserved, LPBINDSTATUSCALLBACK pBSC)
HRESULT WINAPI IsAsyncMoniker(IMoniker *pmk)
static HRESULT WINAPI URLMoniker_Reduce(IMoniker *iface, IBindCtx *pbc, DWORD dwReduceHowFar, IMoniker **ppmkToLeft, IMoniker **ppmkReduced)
static HRESULT create_moniker(IUri *uri, URLMoniker **ret)
static HRESULT WINAPI URLMoniker_BindToStorage(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppvObject)
static HRESULT WINAPI URLMoniker_IsSystemMoniker(IMoniker *iface, DWORD *pwdMksys)
static URLMoniker * impl_from_IUriContainer(IUriContainer *iface)
HRESULT WINAPI GetSoftwareUpdateInfo(LPCWSTR szDistUnit, LPSOFTDISTINFO psdi)
static HRESULT WINAPI URLMoniker_Enum(IMoniker *iface, BOOL fForward, IEnumMoniker **ppenumMoniker)
static ULONG WINAPI URLMoniker_AddRef(IMoniker *iface)
static HRESULT WINAPI UriContainer_GetIUri(IUriContainer *iface, IUri **ppIUri)
static const IUriContainerVtbl UriContainerVtbl
static HRESULT WINAPI URLMoniker_IsDirty(IMoniker *iface)
static HRESULT WINAPI URLMoniker_IsRunning(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, IMoniker *pmkNewlyRunning)
static const IMonikerVtbl URLMonikerVtbl
static ULONG WINAPI UriContainer_AddRef(IUriContainer *iface)
HRESULT WINAPI CreateURLMonikerEx2(IMoniker *pmkContext, IUri *pUri, IMoniker **ppmk, DWORD dwFlags)
static HRESULT WINAPI URLMoniker_GetDisplayName(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName)
static ULONG WINAPI URLMoniker_Release(IMoniker *iface)
HRESULT WINAPI HlinkSimpleNavigateToMoniker(IMoniker *pmkTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *pbsc, DWORD grfHLNF, DWORD dwReserved)
static const DWORD combine_flags_map[3]
HRESULT WINAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind)
static void URLMON_LockModule(void)
static void URLMON_UnlockModule(void)
HRESULT WINAPI URLDownloadToFileW(LPUNKNOWN pCaller, LPCWSTR szURL, LPCWSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define MK_S_REDUCED_TO_SELF
#define NORMAL_CACHE_ENTRY