#include "urlmon_main.h"
#include "winreg.h"
#include "wine/winternl.h"
#include "wininet.h"
#include "shlwapi.h"
#include "wine/debug.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (urlmon) |
|
static ProxyBindStatusCallback * | impl_from_IBindStatusCallback (IBindStatusCallback *iface) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_QueryInterface (IBindStatusCallback *iface, REFIID riid, void **ppv) |
|
static ULONG WINAPI | ProxyBindStatusCallback_AddRef (IBindStatusCallback *iface) |
|
static ULONG WINAPI | ProxyBindStatusCallback_Release (IBindStatusCallback *iface) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_OnStartBinding (IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_GetPriority (IBindStatusCallback *iface, LONG *pnPriority) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_OnLowResource (IBindStatusCallback *iface, DWORD reserved) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_OnProgress (IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_OnStopBinding (IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_GetBindInfo (IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_OnDataAvailable (IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed) |
|
static HRESULT WINAPI | ProxyBindStatusCallback_OnObjectAvailable (IBindStatusCallback *iface, REFIID riid, IUnknown *punk) |
|
static HRESULT WINAPI | BlockingBindStatusCallback_OnDataAvailable (IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed) |
|
static HRESULT WINAPI | AsyncBindStatusCallback_GetBindInfo (IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo) |
|
static HRESULT | URLStartDownload (LPCWSTR szURL, LPSTREAM *ppStream, IBindStatusCallback *pBSC) |
|
HRESULT WINAPI | URLOpenBlockingStreamA (LPUNKNOWN pCaller, LPCSTR szURL, LPSTREAM *ppStream, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB) |
|
HRESULT WINAPI | URLOpenBlockingStreamW (LPUNKNOWN pCaller, LPCWSTR szURL, LPSTREAM *ppStream, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB) |
|
HRESULT WINAPI | URLOpenStreamA (LPUNKNOWN pCaller, LPCSTR szURL, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB) |
|
HRESULT WINAPI | URLOpenStreamW (LPUNKNOWN pCaller, LPCWSTR szURL, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB) |
|
◆ ProxyBindStatusCallback
◆ AsyncBindStatusCallback_GetBindInfo()
Definition at line 182 of file umstream.c.
188 hr = IBindStatusCallback_GetBindInfo(
This->pBSC, grfBINDF, pbindinfo);
192 pbindinfo->cbSize =
size;
197 *grfBINDF |= BINDF_PULLDATA | BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE;
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ BlockingBindStatusCallback_OnDataAvailable()
◆ impl_from_IBindStatusCallback()
Definition at line 40 of file umstream.c.
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Referenced by AsyncBindStatusCallback_GetBindInfo(), ProxyBindStatusCallback_GetBindInfo(), ProxyBindStatusCallback_GetPriority(), ProxyBindStatusCallback_OnDataAvailable(), ProxyBindStatusCallback_OnLowResource(), ProxyBindStatusCallback_OnObjectAvailable(), ProxyBindStatusCallback_OnProgress(), ProxyBindStatusCallback_OnStartBinding(), and ProxyBindStatusCallback_OnStopBinding().
◆ ProxyBindStatusCallback_AddRef()
◆ ProxyBindStatusCallback_GetBindInfo()
Definition at line 123 of file umstream.c.
129 return IBindStatusCallback_GetBindInfo(
This->pBSC, grfBINDF, pbindinfo);
132 pbindinfo->cbSize =
size;
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ ProxyBindStatusCallback_GetPriority()
Definition at line 80 of file umstream.c.
85 return IBindStatusCallback_GetPriority(
This->pBSC, pnPriority);
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ ProxyBindStatusCallback_OnDataAvailable()
Definition at line 139 of file umstream.c.
145 return IBindStatusCallback_OnDataAvailable(
This->pBSC, grfBSCF,
dwSize,
146 pformatetc, pstgmed);
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
◆ ProxyBindStatusCallback_OnLowResource()
Definition at line 90 of file umstream.c.
95 return IBindStatusCallback_OnLowResource(
This->pBSC,
reserved);
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ ProxyBindStatusCallback_OnObjectAvailable()
Definition at line 151 of file umstream.c.
156 return IBindStatusCallback_OnObjectAvailable(
This->pBSC,
riid, punk);
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ ProxyBindStatusCallback_OnProgress()
Definition at line 100 of file umstream.c.
106 return IBindStatusCallback_OnProgress(
This->pBSC, ulProgress,
107 ulProgressMax, ulStatusCode,
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ ProxyBindStatusCallback_OnStartBinding()
Definition at line 69 of file umstream.c.
75 return IBindStatusCallback_OnStartBinding(
This->pBSC,
dwReserved, pib);
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ ProxyBindStatusCallback_OnStopBinding()
Definition at line 113 of file umstream.c.
118 return IBindStatusCallback_OnStopBinding(
This->pBSC, hresult, szError);
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ ProxyBindStatusCallback_QueryInterface()
Definition at line 45 of file umstream.c.
51 IBindStatusCallback_AddRef(iface);
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
◆ ProxyBindStatusCallback_Release()
◆ URLOpenBlockingStreamA()
Definition at line 258 of file umstream.c.
266 TRACE(
"(%p, %s, %p, 0x%x, %p)\n", pCaller, szURL, ppStream,
dwReserved, lpfnCB);
268 if (!szURL || !ppStream)
static void * heap_alloc(size_t len)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
HRESULT WINAPI URLOpenBlockingStreamW(LPUNKNOWN pCaller, LPCWSTR szURL, LPSTREAM *ppStream, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB)
#define MultiByteToWideChar
static BOOL heap_free(void *mem)
◆ URLOpenBlockingStreamW()
Definition at line 290 of file umstream.c.
296 TRACE(
"(%p, %s, %p, 0x%x, %p)\n", pCaller,
debugstr_w(szURL), ppStream,
299 if (!szURL || !ppStream)
303 blocking_bsc.
pBSC = lpfnCB;
IBindStatusCallback IBindStatusCallback_iface
static const IBindStatusCallbackVtbl BlockingBindStatusCallbackVtbl
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
IBindStatusCallback * pBSC
static HRESULT URLStartDownload(LPCWSTR szURL, LPSTREAM *ppStream, IBindStatusCallback *pBSC)
Referenced by test_URLOpenBlockingStreamW(), and URLOpenBlockingStreamA().
◆ URLOpenStreamA()
Definition at line 311 of file umstream.c.
static void * heap_alloc(size_t len)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
HRESULT WINAPI URLOpenStreamW(LPUNKNOWN pCaller, LPCWSTR szURL, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB)
#define MultiByteToWideChar
static BOOL heap_free(void *mem)
◆ URLOpenStreamW()
Definition at line 339 of file umstream.c.
353 async_bsc.
pBSC = lpfnCB;
357 IStream_Release(pStream);
IBindStatusCallback IBindStatusCallback_iface
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
IBindStatusCallback * pBSC
static const IBindStatusCallbackVtbl AsyncBindStatusCallbackVtbl
static HRESULT URLStartDownload(LPCWSTR szURL, LPSTREAM *ppStream, IBindStatusCallback *pBSC)
Referenced by test_URLOpenStreamW(), and URLOpenStreamA().
◆ URLStartDownload()
Definition at line 217 of file umstream.c.
232 IMoniker_Release(pMoniker);
239 IBindCtx_Release(pbc);
240 IMoniker_Release(pMoniker);
244 hr = IMoniker_BindToStorage(pMoniker, pbc,
NULL, &IID_IStream, (
void **)ppStream);
249 IBindCtx_Release(pbc);
250 IMoniker_Release(pMoniker);
HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbscPrevious, DWORD dwReserved)
HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC *ppbc)
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
Referenced by URLOpenBlockingStreamW(), and URLOpenStreamW().
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
urlmon |
| ) |
|
◆ AsyncBindStatusCallbackVtbl
const IBindStatusCallbackVtbl AsyncBindStatusCallbackVtbl |
|
static |
Initial value:=
{
}
static HRESULT WINAPI ProxyBindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
static HRESULT WINAPI ProxyBindStatusCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
static HRESULT WINAPI ProxyBindStatusCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
static HRESULT WINAPI ProxyBindStatusCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
static HRESULT WINAPI ProxyBindStatusCallback_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
static ULONG WINAPI ProxyBindStatusCallback_AddRef(IBindStatusCallback *iface)
static HRESULT WINAPI ProxyBindStatusCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppv)
static ULONG WINAPI ProxyBindStatusCallback_Release(IBindStatusCallback *iface)
static HRESULT WINAPI ProxyBindStatusCallback_OnLowResource(IBindStatusCallback *iface, DWORD reserved)
static HRESULT WINAPI ProxyBindStatusCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
static HRESULT WINAPI AsyncBindStatusCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
Definition at line 202 of file umstream.c.
Referenced by URLOpenStreamW().
◆ BlockingBindStatusCallbackVtbl
const IBindStatusCallbackVtbl BlockingBindStatusCallbackVtbl |
|
static |
Initial value:=
{
}
static HRESULT WINAPI BlockingBindStatusCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
static HRESULT WINAPI ProxyBindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
static HRESULT WINAPI ProxyBindStatusCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
static HRESULT WINAPI ProxyBindStatusCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
static HRESULT WINAPI ProxyBindStatusCallback_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
static ULONG WINAPI ProxyBindStatusCallback_AddRef(IBindStatusCallback *iface)
static HRESULT WINAPI ProxyBindStatusCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppv)
static ULONG WINAPI ProxyBindStatusCallback_Release(IBindStatusCallback *iface)
static HRESULT WINAPI ProxyBindStatusCallback_OnLowResource(IBindStatusCallback *iface, DWORD reserved)
static HRESULT WINAPI ProxyBindStatusCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
static HRESULT WINAPI ProxyBindStatusCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
Definition at line 167 of file umstream.c.
Referenced by URLOpenBlockingStreamW().