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 %lu %p)\n",
This, pv,
cb, pcbRead);
227 FIXME(
"(%p)->(%ld %ld %p)\n",
This, dlibMove.
u.LowPart, dwOrigin, plibNewPosition);
270 TRACE(
"(%p)->(%p %p %p %08lx %p)\n",
This, pUri, pOIProtSink,
283 memset(&bindinfo, 0,
sizeof(bindinfo));
284 bindinfo.cbSize =
sizeof(BINDINFO);
285 hres = IInternetBindInfo_GetBindInfo(pOIBindInfo, &grfBINDF, &bindinfo);
287 WARN(
"GetBindInfo failed: %08lx\n",
hres);
293 if(!(grfBINDF & BINDF_FROMURLMON))
294 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_DIRECTBIND,
NULL);
297 IInternetProtocolSink_ReportData(pOIProtSink,
298 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
303 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_SENDINGREQUEST,
L"");
308 WARN(
"CoInternetParseIUri failed: %08lx\n",
hres);
330 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_CACHEFILENAMEAVAILABLE,
path);
332 hres = IUri_GetExtension(pUri, &
ext);
339 IInternetProtocolSink_ReportProgress(pOIProtSink,
340 (grfBINDF & BINDF_FROMURLMON) ?
341 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE : BINDSTATUS_MIMETYPEAVAILABLE,
349 IInternetProtocolSink_ReportData(pOIProtSink,
350 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
377 return IInternetProtocolEx_QueryInterface(&
This->IInternetProtocolEx_iface,
riid,
ppv);
383 return IInternetProtocolEx_AddRef(&
This->IInternetProtocolEx_iface);
389 return IInternetProtocolEx_Release(&
This->IInternetProtocolEx_iface);
398 This->priority = nPriority;
408 *pnPriority =
This->priority;
438 *ppobj = &
ret->IUnknown_inner;
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void WINAPI CoTaskMemFree(void *ptr)
#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)
HRESULT find_mime_from_ext(const WCHAR *ext, WCHAR **ret)
static IInternetProtocolSink protocol_sink
_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::@2527 u
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
static void URLMON_LockModule(void)
static void URLMON_UnlockModule(void)
DWORD WINAPI GetLastError(void)
#define INET_E_DATA_NOT_AVAILABLE
#define INET_E_RESOURCE_NOT_FOUND
#define INET_E_DOWNLOAD_FAILURE