#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.
183{
186
188 hr = IBindStatusCallback_GetBindInfo(
This->pBSC, grfBINDF, pbindinfo);
189 else{
192 pbindinfo->cbSize =
size;
193
194 *grfBINDF = 0;
195 }
196
197 *grfBINDF |= BINDF_PULLDATA | BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE;
198
200}
static ProxyBindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
◆ BlockingBindStatusCallback_OnDataAvailable()
◆ impl_from_IBindStatusCallback()
Definition at line 40 of file umstream.c.
41{
43}
#define CONTAINING_RECORD(address, type, field)
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.
124{
127
129 return IBindStatusCallback_GetBindInfo(
This->pBSC, grfBINDF, pbindinfo);
130
132 pbindinfo->cbSize =
size;
133
134 *grfBINDF = 0;
135
137}
◆ ProxyBindStatusCallback_GetPriority()
Definition at line 80 of file umstream.c.
81{
83
85 return IBindStatusCallback_GetPriority(
This->pBSC, pnPriority);
86
88}
◆ ProxyBindStatusCallback_OnDataAvailable()
Definition at line 139 of file umstream.c.
141{
143
145 return IBindStatusCallback_OnDataAvailable(
This->pBSC, grfBSCF,
dwSize,
146 pformatetc, pstgmed);
147
149}
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
◆ ProxyBindStatusCallback_OnLowResource()
Definition at line 90 of file umstream.c.
91{
93
95 return IBindStatusCallback_OnLowResource(
This->pBSC,
reserved);
96
98}
◆ ProxyBindStatusCallback_OnObjectAvailable()
Definition at line 151 of file umstream.c.
152{
154
156 return IBindStatusCallback_OnObjectAvailable(
This->pBSC,
riid, punk);
157
159}
◆ ProxyBindStatusCallback_OnProgress()
Definition at line 100 of file umstream.c.
102{
104
106 return IBindStatusCallback_OnProgress(
This->pBSC, ulProgress,
107 ulProgressMax, ulStatusCode,
108 szStatusText);
109
111}
◆ ProxyBindStatusCallback_OnStartBinding()
Definition at line 69 of file umstream.c.
71{
73
75 return IBindStatusCallback_OnStartBinding(
This->pBSC,
dwReserved, pib);
76
78}
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
◆ ProxyBindStatusCallback_OnStopBinding()
Definition at line 113 of file umstream.c.
114{
116
118 return IBindStatusCallback_OnStopBinding(
This->pBSC, hresult, szError);
119
121}
◆ ProxyBindStatusCallback_QueryInterface()
Definition at line 45 of file umstream.c.
46{
49 {
51 IBindStatusCallback_AddRef(iface);
53 }
54
57}
#define IsEqualGUID(rguid1, rguid2)
◆ ProxyBindStatusCallback_Release()
◆ URLOpenBlockingStreamA()
Definition at line 258 of file umstream.c.
261{
265
266 TRACE(
"(%p, %s, %p, 0x%x, %p)\n", pCaller, szURL, ppStream,
dwReserved, lpfnCB);
267
268 if (!szURL || !ppStream)
270
273 if (!szURLW)
274 {
277 }
279
281
283
285}
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define MultiByteToWideChar
HRESULT WINAPI URLOpenBlockingStreamW(LPUNKNOWN pCaller, LPCWSTR szURL, LPSTREAM *ppStream, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB)
◆ URLOpenBlockingStreamW()
Definition at line 290 of file umstream.c.
293{
295
296 TRACE(
"(%p, %s, %p, 0x%x, %p)\n", pCaller,
debugstr_w(szURL), ppStream,
298
299 if (!szURL || !ppStream)
301
303 blocking_bsc.
pBSC = lpfnCB;
304
306}
IBindStatusCallback IBindStatusCallback_iface
IBindStatusCallback * pBSC
static HRESULT URLStartDownload(LPCWSTR szURL, LPSTREAM *ppStream, IBindStatusCallback *pBSC)
static const IBindStatusCallbackVtbl BlockingBindStatusCallbackVtbl
Referenced by test_URLOpenBlockingStreamW(), and URLOpenBlockingStreamA().
◆ URLOpenStreamA()
Definition at line 311 of file umstream.c.
313{
317
319
320 if (!szURL)
322
325 if (!szURLW)
328
330
332
334}
HRESULT WINAPI URLOpenStreamW(LPUNKNOWN pCaller, LPCWSTR szURL, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB)
◆ URLOpenStreamW()
Definition at line 339 of file umstream.c.
341{
345
347 lpfnCB);
348
349 if (!szURL)
351
353 async_bsc.
pBSC = lpfnCB;
354
357 IStream_Release(pStream);
358
360}
static const IBindStatusCallbackVtbl AsyncBindStatusCallbackVtbl
Referenced by test_URLOpenStreamW(), and URLOpenStreamA().
◆ URLStartDownload()
Definition at line 217 of file umstream.c.
218{
222
224
228
231 {
232 IMoniker_Release(pMoniker);
234 }
235
238 {
239 IBindCtx_Release(pbc);
240 IMoniker_Release(pMoniker);
242 }
243
244 hr = IMoniker_BindToStorage(pMoniker, pbc,
NULL, &IID_IStream, (
void **)ppStream);
245
246
248
249 IBindCtx_Release(pbc);
250 IMoniker_Release(pMoniker);
251
253}
HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC *ppbc)
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbscPrevious, DWORD dwReserved)
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_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
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_OnLowResource(IBindStatusCallback *iface, DWORD reserved)
static ULONG WINAPI ProxyBindStatusCallback_AddRef(IBindStatusCallback *iface)
static HRESULT WINAPI ProxyBindStatusCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
static ULONG WINAPI ProxyBindStatusCallback_Release(IBindStatusCallback *iface)
static HRESULT WINAPI ProxyBindStatusCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
static HRESULT WINAPI ProxyBindStatusCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ProxyBindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
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_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
Definition at line 167 of file umstream.c.
Referenced by URLOpenBlockingStreamW().