Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
b54ac3c6
Commit
b54ac3c6
authored
Nov 15, 2010
by
Jacek Caban
Committed by
Alexandre Julliard
Nov 15, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon: Store BindProtocol as IInternetProtocolEx.
parent
5c61a34a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
23 additions
and
15 deletions
+23
-15
binding.c
dlls/urlmon/binding.c
+4
-4
bindprot.c
dlls/urlmon/bindprot.c
+7
-7
session.c
dlls/urlmon/session.c
+9
-1
urlmon_main.h
dlls/urlmon/urlmon_main.h
+3
-3
No files found.
dlls/urlmon/binding.c
View file @
b54ac3c6
...
...
@@ -42,7 +42,7 @@ typedef struct {
LONG
ref
;
IInternetProtocol
*
protocol
;
IInternetProtocol
Ex
*
protocol
;
BYTE
buf
[
1024
*
8
];
DWORD
size
;
...
...
@@ -88,7 +88,7 @@ struct Binding {
LONG
ref
;
IBindStatusCallback
*
callback
;
IInternetProtocol
*
protocol
;
IInternetProtocol
Ex
*
protocol
;
IServiceProvider
*
service_provider
;
stgmed_buf_t
*
stgmed_buf
;
...
...
@@ -427,7 +427,7 @@ static const IUnknownVtbl StgMedUnkVtbl = {
StgMedUnk_Release
};
static
stgmed_buf_t
*
create_stgmed_buf
(
IInternetProtocol
*
protocol
)
static
stgmed_buf_t
*
create_stgmed_buf
(
IInternetProtocol
Ex
*
protocol
)
{
stgmed_buf_t
*
ret
=
heap_alloc
(
sizeof
(
*
ret
));
...
...
@@ -1487,7 +1487,7 @@ static HRESULT Binding_Create(IMoniker *mon, Binding *binding_ctx, LPCWSTR url,
ret
->
protocol
=
binding_ctx
->
protocol
;
IInternetProtocol_AddRef
(
ret
->
protocol
);
}
else
{
hres
=
create_binding_protocol
(
url
,
TRUE
,
&
ret
->
protocol
);
hres
=
create_binding_protocol
(
TRUE
,
&
ret
->
protocol
);
if
(
FAILED
(
hres
))
{
WARN
(
"Could not get protocol handler
\n
"
);
IBinding_Release
(
BINDING
(
ret
));
...
...
dlls/urlmon/bindprot.c
View file @
b54ac3c6
...
...
@@ -388,7 +388,7 @@ static ULONG WINAPI BindProtocol_Release(IInternetProtocolEx *iface)
if
(
This
->
uri
)
IUri_Release
(
This
->
uri
);
set_binding_sink
(
(
IInternetProtocol
*
)
PROTOCOLEX
(
This
),
NULL
,
NULL
);
set_binding_sink
(
PROTOCOLEX
(
This
),
NULL
,
NULL
);
if
(
This
->
notif_hwnd
)
release_notif_hwnd
(
This
->
notif_hwnd
);
...
...
@@ -581,7 +581,7 @@ static HRESULT WINAPI BindProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUr
if
(
urlmon_protocol
)
IInternetProtocol_QueryInterface
(
protocol
,
&
IID_IWinInetInfo
,
(
void
**
)
&
This
->
wininet_info
);
set_binding_sink
(
(
IInternetProtocol
*
)
PROTOCOLEX
(
This
),
pOIProtSink
,
pOIBindInfo
);
set_binding_sink
(
PROTOCOLEX
(
This
),
pOIProtSink
,
pOIBindInfo
);
hres
=
IInternetProtocol_QueryInterface
(
protocol
,
&
IID_IInternetPriority
,
(
void
**
)
&
priority
);
if
(
SUCCEEDED
(
hres
))
{
...
...
@@ -607,7 +607,7 @@ static HRESULT WINAPI BindProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUr
return
hres
;
}
void
set_binding_sink
(
IInternetProtocol
*
bind_protocol
,
IInternetProtocolSink
*
sink
,
IInternetBindInfo
*
bind_info
)
void
set_binding_sink
(
IInternetProtocol
Ex
*
bind_protocol
,
IInternetProtocolSink
*
sink
,
IInternetBindInfo
*
bind_info
)
{
BindProtocol
*
This
=
PROTOCOL_THIS
(
bind_protocol
);
IInternetProtocolSink
*
prev_sink
;
...
...
@@ -632,7 +632,7 @@ void set_binding_sink(IInternetProtocol *bind_protocol, IInternetProtocolSink *s
IInternetBindInfo_Release
(
bind_info
);
}
IWinInetInfo
*
get_wininet_info
(
IInternetProtocol
*
bind_protocol
)
IWinInetInfo
*
get_wininet_info
(
IInternetProtocol
Ex
*
bind_protocol
)
{
BindProtocol
*
This
=
PROTOCOL_THIS
(
bind_protocol
);
...
...
@@ -728,7 +728,7 @@ static HRESULT WINAPI ProtocolHandler_Terminate(IInternetProtocol *iface, DWORD
This
->
filter_proxy
=
NULL
;
}
set_binding_sink
(
(
IInternetProtocol
*
)
PROTOCOLEX
(
This
),
NULL
,
NULL
);
set_binding_sink
(
PROTOCOLEX
(
This
),
NULL
,
NULL
);
if
(
This
->
bind_info
)
{
IInternetBindInfo_Release
(
This
->
bind_info
);
...
...
@@ -1340,7 +1340,7 @@ static const IServiceProviderVtbl ServiceProviderVtbl = {
BPServiceProvider_QueryService
};
HRESULT
create_binding_protocol
(
LPCWSTR
url
,
BOOL
from_urlmon
,
IInternetProtocol
**
protocol
)
HRESULT
create_binding_protocol
(
BOOL
from_urlmon
,
IInternetProtocolEx
**
protocol
)
{
BindProtocol
*
ret
=
heap_alloc_zero
(
sizeof
(
BindProtocol
));
...
...
@@ -1361,6 +1361,6 @@ HRESULT create_binding_protocol(LPCWSTR url, BOOL from_urlmon, IInternetProtocol
URLMON_LockModule
();
*
protocol
=
(
IInternetProtocol
*
)
PROTOCOLEX
(
ret
);
*
protocol
=
PROTOCOLEX
(
ret
);
return
S_OK
;
}
dlls/urlmon/session.c
View file @
b54ac3c6
...
...
@@ -421,13 +421,21 @@ static HRESULT WINAPI InternetSession_CreateBinding(IInternetSession *iface,
LPBC
pBC
,
LPCWSTR
szUrl
,
IUnknown
*
pUnkOuter
,
IUnknown
**
ppUnk
,
IInternetProtocol
**
ppOInetProt
,
DWORD
dwOption
)
{
IInternetProtocolEx
*
protocol
;
HRESULT
hres
;
TRACE
(
"(%p %s %p %p %p %08x)
\n
"
,
pBC
,
debugstr_w
(
szUrl
),
pUnkOuter
,
ppUnk
,
ppOInetProt
,
dwOption
);
if
(
pBC
||
pUnkOuter
||
ppUnk
||
dwOption
)
FIXME
(
"Unsupported arguments
\n
"
);
return
create_binding_protocol
(
szUrl
,
FALSE
,
ppOInetProt
);
hres
=
create_binding_protocol
(
FALSE
,
&
protocol
);
if
(
FAILED
(
hres
))
return
hres
;
*
ppOInetProt
=
(
IInternetProtocol
*
)
protocol
;
return
S_OK
;
}
static
HRESULT
WINAPI
InternetSession_SetSessionOption
(
IInternetSession
*
iface
,
...
...
dlls/urlmon/urlmon_main.h
View file @
b54ac3c6
...
...
@@ -77,9 +77,9 @@ void free_session(void);
HRESULT
bind_to_storage
(
LPCWSTR
url
,
IBindCtx
*
pbc
,
REFIID
riid
,
void
**
ppv
);
HRESULT
bind_to_object
(
IMoniker
*
mon
,
LPCWSTR
url
,
IBindCtx
*
pbc
,
REFIID
riid
,
void
**
ppv
);
HRESULT
create_binding_protocol
(
LPCWSTR
url
,
BOOL
from_urlmon
,
IInternetProtocol
**
protocol
);
void
set_binding_sink
(
IInternetProtocol
*
bind_protocol
,
IInternetProtocolSink
*
sink
,
IInternetBindInfo
*
bind_info
);
IWinInetInfo
*
get_wininet_info
(
IInternetProtocol
*
);
HRESULT
create_binding_protocol
(
BOOL
,
IInternetProtocolEx
**
);
void
set_binding_sink
(
IInternetProtocol
Ex
*
,
IInternetProtocolSink
*
,
IInternetBindInfo
*
);
IWinInetInfo
*
get_wininet_info
(
IInternetProtocol
Ex
*
);
HRESULT
create_default_callback
(
IBindStatusCallback
**
);
HRESULT
wrap_callback
(
IBindStatusCallback
*
,
IBindStatusCallback
**
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment