26static WCHAR bscb_holderW[] = {
'_',
'B',
'S',
'C',
'B',
'_',
'H',
'o',
'l',
'd',
'e',
'r',
'_',0 };
65 hres = IUnknown_QueryInterface(unk, &IID_IBindStatusCallback, (
void**)&
bsc);
66 IUnknown_Release(unk);
85 IBindStatusCallback_Release(
bsc);
87 IBindStatusCallback_AddRef(
bsc);
108 *
ppv = &
This->IBindStatusCallbackEx_iface;
110 TRACE(
"(%p)->(IID_IBindStatusCallback, %p)\n",
This,
ppv);
111 *
ppv = &
This->IBindStatusCallbackEx_iface;
113 TRACE(
"(%p)->(IID_IBindStatusCallback, %p)\n",
This,
ppv);
114 *
ppv = &
This->IBindStatusCallbackEx_iface;
116 TRACE(
"(%p)->(IID_IBindStatusCallbackHolder, %p)\n",
This,
ppv);
120 *
ppv = &
This->IServiceProvider_iface;
123 *
ppv = &
This->IHttpNegotiate2_iface;
126 *
ppv = &
This->IHttpNegotiate2_iface;
129 *
ppv = &
This->IAuthenticate_iface;
131 TRACE(
"(%p)->(IID_IInternetBindInfo, %p)\n",
This,
ppv);
132 *
ppv = &
This->IInternetBindInfo_iface;
163 IServiceProvider_Release(
This->serv_prov);
164 IBindStatusCallback_Release(
This->callback);
178 return IBindStatusCallback_OnStartBinding(
This->callback, 0xff, pbind);
187 return IBindStatusCallback_GetPriority(
This->callback, pnPriority);
196 return IBindStatusCallback_OnLowResource(
This->callback,
reserved);
207 return IBindStatusCallback_OnProgress(
This->callback, ulProgress,
208 ulProgressMax, ulStatusCode, szStatusText);
218 return IBindStatusCallback_OnStopBinding(
This->callback, hresult, szError);
222 DWORD *grfBINDF, BINDINFO *pbindinfo)
228 TRACE(
"(%p)->(%p %p)\n",
This, grfBINDF, pbindinfo);
230 hres = IBindStatusCallback_QueryInterface(
This->callback, &IID_IBindStatusCallbackEx, (
void**)&bscex);
232 DWORD bindf2 = 0, reserv = 0;
234 hres = IBindStatusCallbackEx_GetBindInfoEx(bscex, grfBINDF, pbindinfo, &bindf2, &reserv);
235 IBindStatusCallbackEx_Release(bscex);
237 hres = IBindStatusCallback_GetBindInfo(
This->callback, grfBINDF, pbindinfo);
248 TRACE(
"(%p)->(%08x %d %p %p)\n",
This, grfBSCF,
dwSize, pformatetc, pstgmed);
250 return IBindStatusCallback_OnDataAvailable(
This->callback, grfBSCF,
dwSize, pformatetc, pstgmed);
260 return IBindStatusCallback_OnObjectAvailable(
This->callback,
riid, punk);
272 hres = IBindStatusCallback_QueryInterface(
This->callback, &IID_IBindStatusCallbackEx, (
void**)&bscex);
274 hres = IBindStatusCallbackEx_GetBindInfoEx(bscex, grfBINDF, pbindinfo, grfBINDF2,
pdwReserved);
275 IBindStatusCallbackEx_Release(bscex);
277 hres = IBindStatusCallback_GetBindInfo(
This->callback, grfBINDF, pbindinfo);
307 return IBindStatusCallbackEx_QueryInterface(&
This->IBindStatusCallbackEx_iface,
riid,
ppv);
313 return IBindStatusCallbackEx_AddRef(&
This->IBindStatusCallbackEx_iface);
319 return IBindStatusCallbackEx_Release(&
This->IBindStatusCallbackEx_iface);
328 if(
IsEqualGUID(&IID_IHttpNegotiate, guidService)) {
330 return IBindStatusCallbackEx_QueryInterface(&
This->IBindStatusCallbackEx_iface,
riid,
ppv);
333 if(
IsEqualGUID(&IID_IHttpNegotiate2, guidService)) {
335 return IBindStatusCallbackEx_QueryInterface(&
This->IBindStatusCallbackEx_iface,
riid,
ppv);
340 return IBindStatusCallbackEx_QueryInterface(&
This->IBindStatusCallbackEx_iface,
riid,
ppv);
349 if(
This->serv_prov) {
350 hres = IServiceProvider_QueryService(
This->serv_prov, guidService,
riid,
ppv);
374 return IBindStatusCallbackEx_QueryInterface(&
This->IBindStatusCallbackEx_iface,
riid,
ppv);
380 return IBindStatusCallbackEx_AddRef(&
This->IBindStatusCallbackEx_iface);
386 return IBindStatusCallbackEx_Release(&
This->IBindStatusCallbackEx_iface);
397 pszAdditionalHeaders);
399 *pszAdditionalHeaders =
NULL;
413 LPWSTR *pszAdditionalRequestHeaders)
421 debugstr_w(szRequestHeaders), pszAdditionalRequestHeaders);
426 szRequestHeaders, &additional_headers);
430 if(pszAdditionalRequestHeaders)
431 *pszAdditionalRequestHeaders = additional_headers;
448 if(http_negotiate2) {
449 hres = IHttpNegotiate2_GetRootSecurityId(http_negotiate2, pbSecurityId,
451 IHttpNegotiate2_Release(http_negotiate2);
474 return IBindStatusCallbackEx_QueryInterface(&
This->IBindStatusCallbackEx_iface,
riid,
ppv);
480 return IBindStatusCallbackEx_AddRef(&
This->IBindStatusCallbackEx_iface);
486 return IBindStatusCallbackEx_Release(&
This->IBindStatusCallbackEx_iface);
493 FIXME(
"(%p)->(%p %p %p)\n",
This, phwnd, pszUsername, pszPassword);
512 return IBindStatusCallbackEx_QueryInterface(&
This->IBindStatusCallbackEx_iface,
riid,
ppv);
518 return IBindStatusCallbackEx_AddRef(&
This->IBindStatusCallbackEx_iface);
524 return IBindStatusCallbackEx_Release(&
This->IBindStatusCallbackEx_iface);
541 TRACE(
"(%p)->(%d %p %d %p)\n",
This, string_type, strs, cnt, fetched);
543 hres = IBindStatusCallback_QueryInterface(
This->callback, &IID_IInternetBindInfo, (
void**)&
bind_info);
547 hres = IInternetBindInfo_GetBindString(
bind_info, string_type, strs, cnt, fetched);
567 IBindStatusCallback_Release(
This->callback);
569 IServiceProvider_Release(
This->serv_prov);
571 IBindStatusCallback_AddRef(
bsc);
574 hres = IBindStatusCallback_QueryInterface(
bsc, &IID_IServiceProvider, (
void**)&serv_prov);
632 IBindStatusCallback_AddRef(holder->callback);
633 *ppbscPrevious = holder->callback;
638 IBindStatusCallback_Release(
bsc);
639 IBindStatusCallbackEx_Release(&holder->IBindStatusCallbackEx_iface);
651 IBindStatusCallback_Release(
bsc);
655 IBindStatusCallback_Release(prev);
660 *ppbscPrevious = prev;
680 TRACE(
"(%p %p)\n", pbc, pbsc);
692 IBindStatusCallback_Release(
callback);
753 IBindCtx_Release(
This->bindctx);
766 return IBindCtx_RegisterObjectBound(
This->bindctx, punk);
775 return IBindCtx_RevokeObjectBound(
This->bindctx, punk);
784 return IBindCtx_ReleaseBoundObjects(
This->bindctx);
793 return IBindCtx_SetBindOptions(
This->bindctx, pbindopts);
802 return IBindCtx_GetBindOptions(
This->bindctx, pbindopts);
811 return IBindCtx_GetRunningObjectTable(
This->bindctx, pprot);
820 return IBindCtx_RegisterObjectParam(
This->bindctx, pszkey, punk);
829 return IBindCtx_GetObjectParam(
This->bindctx, pszkey, punk);
838 return IBindCtx_RevokeObjectParam(
This->bindctx, pszkey);
847 return IBindCtx_EnumObjectParam(
This->bindctx, pszkey);
876 FIXME(
"format is not supported\n");
878 bindopts.cbStruct =
sizeof(BIND_OPTS);
879 bindopts.grfFlags = BIND_MAYBOTHERUSER;
881 bindopts.dwTickCountDeadline = 0;
883 hres = IBindCtx_SetBindOptions(bindctx, &bindopts);
916 IBindCtx_Release(bindctx);
946 IBindCtx_AddRef(ibind);
958 ret->bindctx = bindctx;
962 IBindCtx_Release(&
ret->IBindCtx_iface);
966 *pbind = &
ret->IBindCtx_iface;
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static IPrintDialogCallback callback
static IInternetBindInfo bind_info
static IHttpNegotiate2 http_negotiate
static IBindStatusCallbackEx bsc
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define STGM_SHARE_EXCLUSIVE
static BindCtxImpl * impl_from_IBindCtx(IBindCtx *iface)
HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC *ppbc)
#define IsEqualGUID(rguid1, rguid2)
IHttpNegotiate2 IHttpNegotiate2_iface
IServiceProvider * serv_prov
IBindStatusCallback * callback
IBindStatusCallbackEx IBindStatusCallbackEx_iface
IServiceProvider IServiceProvider_iface
IAuthenticate IAuthenticate_iface
IInternetBindInfo IInternetBindInfo_iface
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI RevokeBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc)
static ULONG WINAPI BSCAuthenticate_AddRef(IAuthenticate *iface)
static ULONG WINAPI BSCInternetBindInfo_AddRef(IInternetBindInfo *iface)
static ULONG WINAPI BSCAuthenticate_Release(IAuthenticate *iface)
static HRESULT WINAPI BindStatusCallback_GetBindInfoEx(IBindStatusCallbackEx *iface, DWORD *grfBINDF, BINDINFO *pbindinfo, DWORD *grfBINDF2, DWORD *pdwReserved)
static HRESULT WINAPI AsyncBindCtx_EnumObjectParam(IBindCtx *iface, IEnumString **pszkey)
static ULONG WINAPI BSCInternetBindInfo_Release(IInternetBindInfo *iface)
static ULONG WINAPI BSCServiceProvider_AddRef(IServiceProvider *iface)
static HRESULT WINAPI AsyncBindCtx_RevokeObjectBound(IBindCtx *iface, IUnknown *punk)
static IBindStatusCallback * bsch_from_bctx(IBindCtx *bctx)
static HRESULT WINAPI BSCHttpNegotiate_BeginningTransaction(IHttpNegotiate2 *iface, LPCWSTR szURL, LPCWSTR szHeaders, DWORD dwReserved, LPWSTR *pszAdditionalHeaders)
static HRESULT WINAPI BindStatusCallback_GetPriority(IBindStatusCallbackEx *iface, LONG *pnPriority)
static const IAuthenticateVtbl BSCAuthenticateVtbl
static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallbackEx *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
static HRESULT WINAPI BindStatusCallback_OnObjectAvailable(IBindStatusCallbackEx *iface, REFIID riid, IUnknown *punk)
static BindStatusCallback * impl_from_IHttpNegotiate2(IHttpNegotiate2 *iface)
static HRESULT WINAPI BSCServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
static BindStatusCallback * impl_from_IServiceProvider(IServiceProvider *iface)
static HRESULT WINAPI BindStatusCallback_OnProgress(IBindStatusCallbackEx *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
static ULONG WINAPI BSCServiceProvider_Release(IServiceProvider *iface)
static HRESULT WINAPI AsyncBindCtx_ReleaseBoundObjects(IBindCtx *iface)
static HRESULT WINAPI BSCHttpNegotiate_GetRootSecurityId(IHttpNegotiate2 *iface, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
static void * get_callback_iface(BindStatusCallback *This, REFIID riid)
static HRESULT WINAPI AsyncBindCtx_GetRunningObjectTable(IBindCtx *iface, IRunningObjectTable **pprot)
static BindStatusCallback * impl_from_IAuthenticate(IAuthenticate *iface)
static HRESULT WINAPI BSCAuthenticate_QueryInterface(IAuthenticate *iface, REFIID riid, void **ppv)
static HRESULT WINAPI AsyncBindCtx_RegisterObjectParam(IBindCtx *iface, LPOLESTR pszkey, IUnknown *punk)
static WCHAR bscb_holderW[]
static HRESULT WINAPI BSCHttpNegotiate_QueryInterface(IHttpNegotiate2 *iface, REFIID riid, void **ppv)
static const IBindCtxVtbl AsyncBindCtxVtbl
static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallbackEx *iface, HRESULT hresult, LPCWSTR szError)
static HRESULT WINAPI AsyncBindCtx_RevokeObjectParam(IBindCtx *iface, LPOLESTR pszkey)
static const IHttpNegotiate2Vtbl BSCHttpNegotiateVtbl
HRESULT wrap_callback(IBindStatusCallback *bsc, IBindStatusCallback **ret_iface)
HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbscPrevious, DWORD dwReserved)
IID IID_IBindStatusCallbackHolder
static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallbackEx *iface)
static HRESULT WINAPI BSCHttpNegotiate_OnResponse(IHttpNegotiate2 *iface, DWORD dwResponseCode, LPCWSTR szResponseHeaders, LPCWSTR szRequestHeaders, LPWSTR *pszAdditionalRequestHeaders)
static HRESULT WINAPI AsyncBindCtx_RegisterObjectBound(IBindCtx *iface, IUnknown *punk)
static HRESULT WINAPI AsyncBindCtx_GetBindOptions(IBindCtx *iface, BIND_OPTS *pbindopts)
static HRESULT WINAPI BindStatusCallback_OnLowResource(IBindStatusCallbackEx *iface, DWORD reserved)
static HRESULT init_bindctx(IBindCtx *bindctx, DWORD options, IBindStatusCallback *callback, IEnumFORMATETC *format)
static HRESULT WINAPI BSCServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
static BindStatusCallback * impl_from_IBindStatusCallbackEx(IBindStatusCallbackEx *iface)
IBindStatusCallback * bsc_from_bctx(IBindCtx *bctx)
static ULONG WINAPI BSCHttpNegotiate_AddRef(IHttpNegotiate2 *iface)
static HRESULT WINAPI BSCAuthenticate_Authenticate(IAuthenticate *iface, HWND *phwnd, LPWSTR *pszUsername, LPWSTR *pszPassword)
static HRESULT WINAPI BindStatusCallback_OnDataAvailable(IBindStatusCallbackEx *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
static IInternetBindInfoVtbl BSCInternetBindInfoVtbl
static HRESULT WINAPI BSCInternetBindInfo_GetBindInfo(IInternetBindInfo *iface, DWORD *bindf, BINDINFO *bindinfo)
static void set_callback(BindStatusCallback *This, IBindStatusCallback *bsc)
static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallbackEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI AsyncBindCtx_QueryInterface(IBindCtx *iface, REFIID riid, void **ppv)
static ULONG WINAPI BindStatusCallback_AddRef(IBindStatusCallbackEx *iface)
static ULONG WINAPI AsyncBindCtx_AddRef(IBindCtx *iface)
static HRESULT WINAPI AsyncBindCtx_GetObjectParam(IBindCtx *iface, LPOLESTR pszkey, IUnknown **punk)
static BindStatusCallback * impl_from_IInternetBindInfo(IInternetBindInfo *iface)
static const IBindStatusCallbackExVtbl BindStatusCallbackExVtbl
static HRESULT WINAPI BSCInternetBindInfo_GetBindString(IInternetBindInfo *iface, ULONG string_type, WCHAR **strs, ULONG cnt, ULONG *fetched)
HRESULT WINAPI CreateAsyncBindCtxEx(IBindCtx *ibind, DWORD options, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind, DWORD reserved)
static HRESULT WINAPI BSCInternetBindInfo_QueryInterface(IInternetBindInfo *iface, REFIID riid, void **ppv)
static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallbackEx *iface, DWORD dwReserved, IBinding *pbind)
static const IServiceProviderVtbl BSCServiceProviderVtbl
HRESULT WINAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind)
static ULONG WINAPI AsyncBindCtx_Release(IBindCtx *iface)
static ULONG WINAPI BSCHttpNegotiate_Release(IHttpNegotiate2 *iface)
static HRESULT WINAPI AsyncBindCtx_SetBindOptions(IBindCtx *iface, BIND_OPTS *pbindopts)
const char * debugstr_bindstatus(ULONG status)
_Reserved_ DWORD * pdwReserved