65 TRACE(
"(%p)->(IID_IInternetProtocolRoot %p)\n",
This,
ppv);
66 *
ppv = &
This->IInternetProtocolEx_iface;
69 *
ppv = &
This->IInternetProtocolEx_iface;
71 TRACE(
"(%p)->(IID_IInternetProtocolEx %p)\n",
This,
ppv);
72 *
ppv = &
This->IInternetProtocolEx_iface;
75 *
ppv = &
This->IInternetPriority_iface;
123 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
130 return IUnknown_AddRef(
This->outer);
137 return IUnknown_Release(
This->outer);
155 hres = IInternetProtocolEx_StartEx(&
This->IInternetProtocolEx_iface,
uri, pOIProtSink,
165 FIXME(
"(%p)->(%p)\n",
This, pProtocolData);
206 TRACE(
"(%p)->(%p %u %p)\n",
This, pv,
cb, pcbRead);
212 return INET_E_DATA_NOT_AVAILABLE;
215 return INET_E_DOWNLOAD_FAILURE;
227 FIXME(
"(%p)->(%d %d %p)\n",
This, dlibMove.
u.LowPart, dwOrigin, plibNewPosition);
271 TRACE(
"(%p)->(%p %p %p %08x %p)\n",
This, pUri, pOIProtSink,
284 memset(&bindinfo, 0,
sizeof(bindinfo));
285 bindinfo.cbSize =
sizeof(BINDINFO);
286 hres = IInternetBindInfo_GetBindInfo(pOIBindInfo, &grfBINDF, &bindinfo);
288 WARN(
"GetBindInfo failed: %08x\n",
hres);
294 if(!(grfBINDF & BINDF_FROMURLMON))
295 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_DIRECTBIND,
NULL);
298 IInternetProtocolSink_ReportData(pOIProtSink,
299 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
304 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_SENDINGREQUEST, &null_char);
309 WARN(
"CoInternetParseIUri failed: %08x\n",
hres);
331 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_CACHEFILENAMEAVAILABLE,
path);
333 hres = IUri_GetExtension(pUri, &
ext);
340 IInternetProtocolSink_ReportProgress(pOIProtSink,
341 (grfBINDF & BINDF_FROMURLMON) ?
342 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE : BINDSTATUS_MIMETYPEAVAILABLE,
350 IInternetProtocolSink_ReportData(pOIProtSink,
351 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
378 return IInternetProtocolEx_QueryInterface(&
This->IInternetProtocolEx_iface,
riid,
ppv);
384 return IInternetProtocolEx_AddRef(&
This->IInternetProtocolEx_iface);
390 return IInternetProtocolEx_Release(&
This->IInternetProtocolEx_iface);
399 This->priority = nPriority;
409 *pnPriority =
This->priority;
425 TRACE(
"(%p %p)\n", outer, ppobj);
437 ret->outer = outer ? outer : &
ret->IUnknown_inner;
439 *ppobj = &
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 ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
#define FILE_ATTRIBUTE_NORMAL
static const WCHAR *const ext[]
static HRESULT WINAPI FileProtocol_Resume(IInternetProtocolEx *iface)
static HRESULT report_result(IInternetProtocolSink *protocol_sink, HRESULT hres, DWORD res)
static ULONG WINAPI FileProtocolUnk_AddRef(IUnknown *iface)
static HRESULT WINAPI FilePriority_QueryInterface(IInternetPriority *iface, REFIID riid, void **ppv)
static HRESULT WINAPI FileProtocol_Suspend(IInternetProtocolEx *iface)
static HRESULT WINAPI FileProtocol_Start(IInternetProtocolEx *iface, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
static HRESULT WINAPI FileProtocol_Continue(IInternetProtocolEx *iface, PROTOCOLDATA *pProtocolData)
static HRESULT WINAPI FileProtocol_Read(IInternetProtocolEx *iface, void *pv, ULONG cb, ULONG *pcbRead)
static HRESULT WINAPI FileProtocol_LockRequest(IInternetProtocolEx *iface, DWORD dwOptions)
static HRESULT WINAPI FileProtocol_QueryInterface(IInternetProtocolEx *iface, REFIID riid, void **ppv)
static FileProtocol * impl_from_IInternetProtocolEx(IInternetProtocolEx *iface)
static ULONG WINAPI FilePriority_AddRef(IInternetPriority *iface)
static HRESULT WINAPI FileProtocol_Terminate(IInternetProtocolEx *iface, DWORD dwOptions)
static HRESULT WINAPI FilePriority_SetPriority(IInternetPriority *iface, LONG nPriority)
static FileProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
static HRESULT WINAPI FileProtocol_Abort(IInternetProtocolEx *iface, HRESULT hrReason, DWORD dwOptions)
static ULONG WINAPI FileProtocol_AddRef(IInternetProtocolEx *iface)
static ULONG WINAPI FileProtocolUnk_Release(IUnknown *iface)
static HRESULT WINAPI FilePriority_GetPriority(IInternetPriority *iface, LONG *pnPriority)
static ULONG WINAPI FilePriority_Release(IInternetPriority *iface)
HRESULT FileProtocol_Construct(IUnknown *outer, LPVOID *ppobj)
static HRESULT WINAPI FileProtocol_Seek(IInternetProtocolEx *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
static ULONG WINAPI FileProtocol_Release(IInternetProtocolEx *iface)
static HRESULT WINAPI FileProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUri, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE *dwReserved)
static HRESULT WINAPI FileProtocolUnk_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
static const IUnknownVtbl FileProtocolUnkVtbl
static FileProtocol * impl_from_IUnknown(IUnknown *iface)
static const IInternetPriorityVtbl FilePriorityVtbl
static const IInternetProtocolExVtbl FileProtocolExVtbl
static HRESULT WINAPI FileProtocol_UnlockRequest(IInternetProtocolEx *iface)
HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
HRESULT WINAPI CoInternetParseIUri(IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
HRESULT find_mime_from_ext(const WCHAR *ext, WCHAR **ret)
static IInternetProtocolSink protocol_sink
static HMODULE MODULEINFO DWORD cb
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
#define IsEqualGUID(rguid1, rguid2)
static unsigned int file_size
static FILE * file_handle
IInternetPriority IInternetPriority_iface
IInternetProtocolEx IInternetProtocolEx_iface
#define CONTAINING_RECORD(address, type, field)
struct _LARGE_INTEGER::@2307 u
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
static void URLMON_LockModule(void)
static void URLMON_UnlockModule(void)
DWORD WINAPI GetLastError(void)