84 hres = INET_E_RESOURCE_NOT_FOUND;
136 TRACE(
"(%p)->(IID_IInternetProtocolRoot %p)\n",
This,
ppv);
137 *
ppv = &
This->IInternetProtocolEx_iface;
140 *
ppv = &
This->IInternetProtocolEx_iface;
142 TRACE(
"(%p)->(IID_IInternetProtocolEx %p)\n",
This,
ppv);
143 *
ppv = &
This->IInternetProtocolEx_iface;
146 *
ppv = &
This->IInternetPriority_iface;
149 *
ppv = &
This->IWinInetHttpInfo_iface;
152 *
ppv = &
This->IWinInetHttpInfo_iface;
198 return IUnknown_QueryInterface(
This->outer,
riid,
ppv);
205 return IUnknown_AddRef(
This->outer);
212 return IUnknown_Release(
This->outer);
230 hres = IInternetProtocolEx_StartEx(&
This->IInternetProtocolEx_iface,
uri, pOIProtSink,
241 TRACE(
"(%p)->(%p)\n",
This, pProtocolData);
285 TRACE(
"(%p)->(%p %u %p)\n",
This, pv,
cb, pcbRead);
294 FIXME(
"(%p)->(%d %d %p)\n",
This, dlibMove.
u.LowPart, dwOrigin, plibNewPosition);
324 TRACE(
"(%p)->(%p %p %p %08x %p)\n",
This, pUri, pOIProtSink,
334 pOIProtSink, pOIBindInfo);
357 return IInternetProtocolEx_QueryInterface(&
This->IInternetProtocolEx_iface,
riid,
ppv);
363 return IInternetProtocolEx_AddRef(&
This->IInternetProtocolEx_iface);
369 return IInternetProtocolEx_Release(&
This->IInternetProtocolEx_iface);
378 This->base.priority = nPriority;
388 *pnPriority =
This->base.priority;
403 return IInternetProtocolEx_QueryInterface(&
This->IInternetProtocolEx_iface,
riid,
ppv);
409 return IInternetProtocolEx_AddRef(&
This->IInternetProtocolEx_iface);
415 return IInternetProtocolEx_Release(&
This->IInternetProtocolEx_iface);
424 if(!
This->base.request)
438 if(!
This->base.request)
470 ret->outer = outer ? outer : &
ret->IUnknown_inner;
472 *
ppv = &
ret->IUnknown_inner;
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
HRESULT WINAPI UrlUnescapeW(LPWSTR pszUrl, LPWSTR pszUnescaped, LPDWORD pcchUnescaped, DWORD dwFlags)
static ULONG WINAPI FtpPriority_Release(IInternetPriority *iface)
static HRESULT WINAPI FtpProtocolUnk_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
static HRESULT WINAPI FtpProtocol_Start(IInternetProtocolEx *iface, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
static const IInternetPriorityVtbl FtpPriorityVtbl
static HRESULT WINAPI FtpProtocol_Read(IInternetProtocolEx *iface, void *pv, ULONG cb, ULONG *pcbRead)
static FtpProtocol * impl_from_Protocol(Protocol *prot)
static ULONG WINAPI FtpPriority_AddRef(IInternetPriority *iface)
static HRESULT WINAPI FtpProtocol_Abort(IInternetProtocolEx *iface, HRESULT hrReason, DWORD dwOptions)
static const IWinInetHttpInfoVtbl WinInetHttpInfoVtbl
static ULONG WINAPI FtpProtocolUnk_AddRef(IUnknown *iface)
static FtpProtocol * impl_from_IWinInetHttpInfo(IWinInetHttpInfo *iface)
static HRESULT WINAPI FtpPriority_SetPriority(IInternetPriority *iface, LONG nPriority)
static FtpProtocol * impl_from_IInternetPriority(IInternetPriority *iface)
static HRESULT WINAPI HttpInfo_QueryOption(IWinInetHttpInfo *iface, DWORD dwOption, void *pBuffer, DWORD *pcbBuffer)
static HRESULT WINAPI FtpProtocol_Terminate(IInternetProtocolEx *iface, DWORD dwOptions)
static HRESULT WINAPI FtpProtocol_Seek(IInternetProtocolEx *iface, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
static ULONG WINAPI FtpProtocol_Release(IInternetProtocolEx *iface)
static ULONG WINAPI FtpProtocol_AddRef(IInternetProtocolEx *iface)
HRESULT FtpProtocol_Construct(IUnknown *outer, void **ppv)
static FtpProtocol * impl_from_IInternetProtocolEx(IInternetProtocolEx *iface)
static HRESULT FtpProtocol_open_request(Protocol *prot, IUri *uri, DWORD request_flags, HINTERNET internet_session, IInternetBindInfo *bind_info)
static ULONG WINAPI HttpInfo_Release(IWinInetHttpInfo *iface)
static HRESULT WINAPI FtpProtocol_Continue(IInternetProtocolEx *iface, PROTOCOLDATA *pProtocolData)
static HRESULT WINAPI HttpInfo_QueryInterface(IWinInetHttpInfo *iface, REFIID riid, void **ppv)
static void FtpProtocol_close_connection(Protocol *prot)
static HRESULT FtpProtocol_start_downloading(Protocol *prot)
static HRESULT WINAPI FtpPriority_GetPriority(IInternetPriority *iface, LONG *pnPriority)
static ULONG WINAPI HttpInfo_AddRef(IWinInetHttpInfo *iface)
static HRESULT WINAPI FtpProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUri, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE *dwReserved)
static HRESULT WINAPI FtpProtocol_Resume(IInternetProtocolEx *iface)
static HRESULT WINAPI FtpProtocol_UnlockRequest(IInternetProtocolEx *iface)
static void FtpProtocol_on_error(Protocol *prot, DWORD error)
static const ProtocolVtbl AsyncProtocolVtbl
static HRESULT WINAPI FtpPriority_QueryInterface(IInternetPriority *iface, REFIID riid, void **ppv)
static HRESULT WINAPI FtpProtocol_LockRequest(IInternetProtocolEx *iface, DWORD dwOptions)
static HRESULT WINAPI HttpInfo_QueryInfo(IWinInetHttpInfo *iface, DWORD dwOption, void *pBuffer, DWORD *pcbBuffer, DWORD *pdwFlags, DWORD *pdwReserved)
static HRESULT WINAPI FtpProtocol_Suspend(IInternetProtocolEx *iface)
static const IUnknownVtbl FtpProtocolUnkVtbl
static ULONG WINAPI FtpProtocolUnk_Release(IUnknown *iface)
static FtpProtocol * impl_from_IUnknown(IUnknown *iface)
static HRESULT FtpProtocol_end_request(Protocol *prot)
static HRESULT WINAPI FtpProtocol_QueryInterface(IInternetProtocolEx *iface, REFIID riid, void **ppv)
static const IInternetProtocolExVtbl FtpProtocolVtbl
HRESULT protocol_lock_request(Protocol *protocol)
HRESULT protocol_abort(Protocol *protocol, HRESULT reason)
void protocol_close_connection(Protocol *protocol)
HRESULT protocol_unlock_request(Protocol *protocol)
static HINTERNET internet_session
HRESULT protocol_continue(Protocol *protocol, PROTOCOLDATA *data)
HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
DWORD WINAPI FtpGetFileSize(HINTERNET hFile, LPDWORD lpdwFileSizeHigh)
BOOL WINAPI HttpQueryInfoW(HINTERNET hHttpRequest, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpdwBufferLength, LPDWORD lpdwIndex)
BOOL WINAPI InternetQueryOptionW(HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, LPDWORD lpdwBufferLength)
HINTERNET WINAPI InternetOpenUrlW(HINTERNET hInternet, LPCWSTR lpszUrl, LPCWSTR lpszHeaders, DWORD dwHeadersLength, DWORD dwFlags, DWORD_PTR dwContext)
static IInternetBindInfo bind_info
#define protocol_start(p, u, e)
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)
#define URL_UNESCAPE_INPLACE
IInternetProtocolEx IInternetProtocolEx_iface
IWinInetHttpInfo IWinInetHttpInfo_iface
IInternetPriority IInternetPriority_iface
#define CONTAINING_RECORD(address, type, field)
struct _LARGE_INTEGER::@2303 u
static void URLMON_LockModule(void)
static void URLMON_UnlockModule(void)
DWORD WINAPI GetLastError(void)
_Reserved_ DWORD * pdwReserved
#define INTERNET_FLAG_PASSIVE
#define INTERNET_FLAG_EXISTING_CONNECT