55 TRACE(
"(%p)->(IID_IInternetProtocolRoot %p)\n",
This,
ppv);
56 *
ppv = &
This->IInternetProtocolEx_iface;
59 *
ppv = &
This->IInternetProtocolEx_iface;
61 TRACE(
"(%p)->(IID_IInternetProtocolEx %p)\n",
This,
ppv);
62 *
ppv = &
This->IInternetProtocolEx_iface;
90 IStream_Release(
This->stream);
110 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
117 return IUnknown_AddRef(
This->outer);
124 return IUnknown_Release(
This->outer);
129 IInternetProtocolSink_ReportResult(
sink,
hres, dwError,
NULL);
148 hres = IInternetProtocolEx_StartEx(&
This->IInternetProtocolEx_iface,
uri, pOIProtSink,
158 FIXME(
"(%p)->(%p)\n",
This, pProtocolData);
198 TRACE(
"(%p)->(%p %u %p)\n",
This, pv,
cb, pcbRead);
203 return IStream_Read(
This->stream, pv,
cb, pcbRead);
210 FIXME(
"(%p)->(%d %d %p)\n",
This, dlibMove.
u.LowPart, dwOrigin, plibNewPosition);
247 TRACE(
"(%p)->(%p %p %p %08x %p)\n",
This, pUri, pOIProtSink,
254 return INET_E_INVALID_URL;
256 memset(&bindinfo, 0,
sizeof(bindinfo));
257 bindinfo.cbSize =
sizeof(BINDINFO);
258 hres = IInternetBindInfo_GetBindInfo(pOIBindInfo, &
bindf, &bindinfo);
260 WARN(
"GetBindInfo failed: %08x\n",
hres);
266 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_SENDINGREQUEST,
NULL);
268 hres = IUri_GetDisplayUri(pUri, &
url);
274 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_MIMETYPEAVAILABLE,
mime);
316 hres = IParseDisplayName_ParseDisplayName(pdn,
NULL , display_name, &eaten, &mon);
318 IParseDisplayName_Release(pdn);
320 WARN(
"ParseDisplayName failed: %08x\n",
hres);
325 IStream_Release(
This->stream);
329 hres = IMoniker_BindToStorage(mon,
NULL ,
NULL, &IID_IStream, (
void**)&
This->stream);
330 IMoniker_Release(mon);
332 WARN(
"BindToStorage failed: %08x\n",
hres);
336 hres = IStream_Stat(
This->stream, &statstg, STATFLAG_NONAME);
342 IInternetProtocolSink_ReportData(pOIProtSink,
343 BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION,
344 statstg.cbSize.u.LowPart, statstg.cbSize.u.LowPart);
378 ret->outer = outer ? outer : &
ret->IUnknown_inner;
384 *
ppv = &
ret->IUnknown_inner;
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define ERROR_INVALID_PARAMETER
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CLSIDFromProgID(LPCOLESTR progid, LPCLSID clsid)
HRESULT WINAPI UrlUnescapeW(LPWSTR pszUrl, LPWSTR pszUnescaped, LPDWORD pcchUnescaped, DWORD dwFlags)
HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
GLsizei GLenum GLboolean sink
VOID WINAPI CoTaskMemFree(LPVOID ptr)
HRESULT WINAPI FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, DWORD cbSize, LPCWSTR pwzMimeProposed, DWORD dwMimeFlags, LPWSTR *ppwzMimeOut, DWORD dwReserved)
static HRESULT WINAPI MkProtocol_UnlockRequest(IInternetProtocolEx *iface)
static ULONG WINAPI MkProtocol_AddRef(IInternetProtocolEx *iface)
static const IInternetProtocolExVtbl MkProtocolVtbl
static HRESULT WINAPI MkProtocol_LockRequest(IInternetProtocolEx *iface, DWORD dwOptions)
static HRESULT WINAPI MkProtocol_Start(IInternetProtocolEx *iface, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
static ULONG WINAPI MkProtocolUnk_AddRef(IUnknown *iface)
static HRESULT report_result(IInternetProtocolSink *sink, HRESULT hres, DWORD dwError)
static const IUnknownVtbl MkProtocolUnkVtbl
static HRESULT WINAPI MkProtocol_Suspend(IInternetProtocolEx *iface)
static MkProtocol * impl_from_IInternetProtocolEx(IInternetProtocolEx *iface)
static HRESULT WINAPI MkProtocolUnk_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
HRESULT MkProtocol_Construct(IUnknown *outer, void **ppv)
static HRESULT WINAPI MkProtocol_QueryInterface(IInternetProtocolEx *iface, REFIID riid, void **ppv)
static MkProtocol * impl_from_IUnknown(IUnknown *iface)
static HRESULT WINAPI MkProtocol_Abort(IInternetProtocolEx *iface, HRESULT hrReason, DWORD dwOptions)
static ULONG WINAPI MkProtocolUnk_Release(IUnknown *iface)
static HRESULT WINAPI MkProtocol_Read(IInternetProtocolEx *iface, void *pv, ULONG cb, ULONG *pcbRead)
static HRESULT WINAPI MkProtocol_Terminate(IInternetProtocolEx *iface, DWORD dwOptions)
static HRESULT WINAPI MkProtocol_Resume(IInternetProtocolEx *iface)
static HRESULT WINAPI MkProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUri, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE *dwReserved)
static ULONG WINAPI MkProtocol_Release(IInternetProtocolEx *iface)
static HRESULT WINAPI MkProtocol_Seek(IInternetProtocolEx *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
static HRESULT WINAPI MkProtocol_Continue(IInternetProtocolEx *iface, PROTOCOLDATA *pProtocolData)
#define memcpy(s1, s2, n)
static HMODULE MODULEINFO DWORD cb
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
UINT WINAPI SysStringLen(BSTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
const GUID IID_IParseDisplayName
#define IsEqualGUID(rguid1, rguid2)
#define URL_UNESCAPE_INPLACE
IInternetProtocolEx IInternetProtocolEx_iface
#define CONTAINING_RECORD(address, type, field)
struct _LARGE_INTEGER::@2299 u
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
static void URLMON_LockModule(void)
static void URLMON_UnlockModule(void)