Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
4582a2bb
Commit
4582a2bb
authored
Aug 04, 2006
by
Robert Shearman
Committed by
Alexandre Julliard
Aug 04, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon: Delay-load cabinet.dll as native urlmon doesn't import it.
parent
c340ddd3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
2 deletions
+23
-2
Makefile.in
dlls/urlmon/Makefile.in
+1
-1
urlmon.spec
dlls/urlmon/urlmon.spec
+1
-1
urlmon_main.c
dlls/urlmon/urlmon_main.c
+21
-0
No files found.
dlls/urlmon/Makefile.in
View file @
4582a2bb
...
...
@@ -4,7 +4,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
urlmon.dll
IMPORTLIB
=
liburlmon.
$(IMPLIBEXT)
IMPORTS
=
cabinet
ole32 shlwapi wininet user32 advapi32 kernel32 ntdll
IMPORTS
=
ole32 shlwapi wininet user32 advapi32 kernel32 ntdll
EXTRALIBS
=
-luuid
C_SRCS
=
\
...
...
dlls/urlmon/urlmon.spec
View file @
4582a2bb
...
...
@@ -32,7 +32,7 @@
@ stdcall -private DllRegisterServer()
@ stdcall -private DllRegisterServerEx()
@ stdcall -private DllUnregisterServer()
@ stdcall Extract(long ptr)
cabinet.Extract
@ stdcall Extract(long ptr)
@ stdcall FaultInIEFeature(long ptr ptr long)
@ stub FindMediaType
@ stub FindMediaTypeClass
...
...
dlls/urlmon/urlmon_main.c
View file @
4582a2bb
...
...
@@ -41,6 +41,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(urlmon);
LONG
URLMON_refCount
=
0
;
HINSTANCE
URLMON_hInstance
=
0
;
static
HMODULE
hCabinet
=
NULL
;
DWORD
urlmon_tls
=
0
;
...
...
@@ -63,6 +64,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
case
DLL_PROCESS_DETACH
:
if
(
urlmon_tls
)
TlsFree
(
urlmon_tls
);
if
(
hCabinet
)
FreeLibrary
(
hCabinet
);
hCabinet
=
NULL
;
init_session
(
FALSE
);
URLMON_hInstance
=
0
;
break
;
...
...
@@ -597,3 +601,20 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer,
return
E_FAIL
;
}
/***********************************************************************
* Extract (URLMON.@)
*/
HRESULT
WINAPI
Extract
(
void
*
dest
,
LPCSTR
szCabName
)
{
HRESULT
(
WINAPI
*
pExtract
)(
void
*
,
LPCSTR
);
if
(
!
hCabinet
)
hCabinet
=
LoadLibraryA
(
"cabinet.dll"
);
if
(
!
hCabinet
)
return
HRESULT_FROM_WIN32
(
GetLastError
());
pExtract
=
(
void
*
)
GetProcAddress
(
hCabinet
,
"Extract"
);
if
(
!
pExtract
)
return
HRESULT_FROM_WIN32
(
GetLastError
());
return
pExtract
(
dest
,
szCabName
);
}
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