258{
263 BINDINFO bindinfo;
270
271 TRACE(
"(%p)->(%p %p %p %08x %p)\n",
This, pUri, pOIProtSink,
273
274 if(!pUri)
276
283
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);
290 }
291
293
294 if(!(grfBINDF & BINDF_FROMURLMON))
295 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_DIRECTBIND,
NULL);
296
298 IInternetProtocolSink_ReportData(pOIProtSink,
299 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
302 }
303
304 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_SENDINGREQUEST, &null_char);
305
309 WARN(
"CoInternetParseIUri failed: %08x\n",
hres);
311 }
312
316
320 }
323
327 }
328
331 IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_CACHEFILENAMEAVAILABLE,
path);
332
333 hres = IUri_GetExtension(pUri, &
ext);
340 IInternetProtocolSink_ReportProgress(pOIProtSink,
341 (grfBINDF & BINDF_FROMURLMON) ?
342 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE : BINDSTATUS_MIMETYPEAVAILABLE,
345 }
346 }
348 }
349
350 IInternetProtocolSink_ReportData(pOIProtSink,
351 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
353
355}
#define FILE_ATTRIBUTE_NORMAL
static const WCHAR *const ext[]
static HRESULT report_result(IInternetProtocolSink *protocol_sink, HRESULT hres, DWORD res)
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)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
static unsigned int file_size
static FILE * file_handle
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
DWORD WINAPI GetLastError(void)