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
1331a8ea
Commit
1331a8ea
authored
Apr 30, 2021
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winecrt0: Determine the registration module handle directly in __wine_register_resources().
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
5d82baf9
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
43 additions
and
98 deletions
+43
-98
devenum_main.c
dlls/devenum/devenum_main.c
+2
-19
mlang.c
dlls/mlang/mlang.c
+2
-4
mp3dmod.c
dlls/mp3dmod/mp3dmod.c
+2
-17
mscoree_main.c
dlls/mscoree/mscoree_main.c
+2
-6
main.c
dlls/mshtml/main.c
+2
-2
qcap_main.c
dlls/qcap/qcap_main.c
+2
-2
main.c
dlls/qedit/main.c
+2
-5
shell32_main.c
dlls/shell32/shell32_main.c
+2
-2
dll_register.c
dlls/winecrt0/dll_register.c
+2
-13
register.c
dlls/winecrt0/register.c
+15
-4
main.c
dlls/winegstreamer/main.c
+4
-6
main.c
dlls/wineqtdecoder/main.c
+2
-14
rpcproxy.h
include/rpcproxy.h
+4
-4
No files found.
dlls/devenum/devenum_main.c
View file @
1331a8ea
...
...
@@ -26,23 +26,6 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
devenum
);
DECLSPEC_HIDDEN
LONG
dll_refs
;
static
HINSTANCE
devenum_instance
;
/***********************************************************************
* DllEntryPoint
*/
BOOL
WINAPI
DllMain
(
HINSTANCE
hinstDLL
,
DWORD
fdwReason
,
LPVOID
fImpLoad
)
{
TRACE
(
"%p 0x%x %p
\n
"
,
hinstDLL
,
fdwReason
,
fImpLoad
);
switch
(
fdwReason
)
{
case
DLL_PROCESS_ATTACH
:
devenum_instance
=
hinstDLL
;
DisableThreadLibraryCalls
(
hinstDLL
);
break
;
}
return
TRUE
;
}
struct
class_factory
{
...
...
@@ -154,7 +137,7 @@ HRESULT WINAPI DllRegisterServer(void)
TRACE
(
"
\n
"
);
res
=
__wine_register_resources
(
devenum_instance
);
res
=
__wine_register_resources
();
if
(
FAILED
(
res
))
return
res
;
...
...
@@ -186,5 +169,5 @@ HRESULT WINAPI DllRegisterServer(void)
HRESULT
WINAPI
DllUnregisterServer
(
void
)
{
FIXME
(
"stub!
\n
"
);
return
__wine_unregister_resources
(
devenum_instance
);
return
__wine_unregister_resources
();
}
dlls/mlang/mlang.c
View file @
1331a8ea
...
...
@@ -48,7 +48,6 @@ static HRESULT MultiLanguage_create(IUnknown *pUnkOuter, LPVOID *ppObj);
static
HRESULT
MLangConvertCharset_create
(
IUnknown
*
outer
,
void
**
obj
);
static
HRESULT
EnumRfc1766_create
(
LANGID
LangId
,
IEnumRfc1766
**
ppEnum
);
static
HINSTANCE
instance
;
static
DWORD
MLANG_tls_index
;
/* to store various per thead data */
/* FIXME:
...
...
@@ -935,7 +934,6 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
{
switch
(
fdwReason
)
{
case
DLL_PROCESS_ATTACH
:
instance
=
hInstDLL
;
MLANG_tls_index
=
TlsAlloc
();
DisableThreadLibraryCalls
(
hInstDLL
);
break
;
...
...
@@ -3976,7 +3974,7 @@ HRESULT WINAPI DllRegisterServer(void)
{
if
(
!
register_codepages
())
return
E_FAIL
;
return
__wine_register_resources
(
instance
);
return
__wine_register_resources
();
}
/***********************************************************************
...
...
@@ -3984,7 +3982,7 @@ HRESULT WINAPI DllRegisterServer(void)
*/
HRESULT
WINAPI
DllUnregisterServer
(
void
)
{
return
__wine_unregister_resources
(
instance
);
return
__wine_unregister_resources
();
}
HRESULT
WINAPI
GetGlobalFontLinkObject
(
void
**
unknown
)
...
...
dlls/mp3dmod/mp3dmod.c
View file @
1331a8ea
...
...
@@ -41,8 +41,6 @@ DEFINE_GUID(WMFORMAT_WaveFormatEx, 0x05589f81,0xc356,0x11ce,0xbf,0x01,0x00,0xaa
WINE_DEFAULT_DEBUG_CHANNEL
(
mp3dmod
);
static
HINSTANCE
mp3dmod_instance
;
struct
mp3_decoder
{
IUnknown
IUnknown_inner
;
...
...
@@ -651,19 +649,6 @@ static const IClassFactoryVtbl classfactory_vtbl = {
static
IClassFactory
mp3_decoder_cf
=
{
&
classfactory_vtbl
};
BOOL
WINAPI
DllMain
(
HINSTANCE
instance
,
DWORD
reason
,
LPVOID
reserved
)
{
TRACE
(
"%p, %d, %p
\n
"
,
instance
,
reason
,
reserved
);
switch
(
reason
)
{
case
DLL_PROCESS_ATTACH
:
DisableThreadLibraryCalls
(
instance
);
mp3dmod_instance
=
instance
;
break
;
}
return
TRUE
;
}
/*************************************************************************
* DllGetClassObject (DSDMO.@)
*/
...
...
@@ -695,7 +680,7 @@ HRESULT WINAPI DllRegisterServer(void)
0
,
1
,
&
in
,
1
,
&
out
);
if
(
FAILED
(
hr
))
return
hr
;
return
__wine_register_resources
(
mp3dmod_instance
);
return
__wine_register_resources
();
}
/***********************************************************************
...
...
@@ -708,5 +693,5 @@ HRESULT WINAPI DllUnregisterServer(void)
hr
=
DMOUnregister
(
&
CLSID_CMP3DecMediaObject
,
&
DMOCATEGORY_AUDIO_DECODER
);
if
(
FAILED
(
hr
))
return
hr
;
return
__wine_unregister_resources
(
mp3dmod_instance
);
return
__wine_unregister_resources
();
}
dlls/mscoree/mscoree_main.c
View file @
1331a8ea
...
...
@@ -50,8 +50,6 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
mscoree
);
WINE_DECLARE_DEBUG_CHANNEL
(
winediag
);
static
HINSTANCE
MSCOREE_hInstance
;
typedef
HRESULT
(
*
fnCreateInstance
)(
REFIID
riid
,
LPVOID
*
ppObj
);
char
*
WtoA
(
LPCWSTR
wstr
)
...
...
@@ -220,8 +218,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
TRACE
(
"(%p, %d, %p)
\n
"
,
hinstDLL
,
fdwReason
,
lpvReserved
);
MSCOREE_hInstance
=
hinstDLL
;
switch
(
fdwReason
)
{
case
DLL_PROCESS_ATTACH
:
...
...
@@ -883,12 +879,12 @@ HRESULT WINAPI DllRegisterServer(void)
{
install_wine_mono
();
return
__wine_register_resources
(
MSCOREE_hInstance
);
return
__wine_register_resources
();
}
HRESULT
WINAPI
DllUnregisterServer
(
void
)
{
return
__wine_unregister_resources
(
MSCOREE_hInstance
);
return
__wine_unregister_resources
();
}
void
WINAPI
CoEEShutDownCOM
(
void
)
...
...
dlls/mshtml/main.c
View file @
1331a8ea
...
...
@@ -662,7 +662,7 @@ HRESULT WINAPI DllRegisterServer(void)
{
HRESULT
hres
;
hres
=
__wine_register_resources
(
hInst
);
hres
=
__wine_register_resources
();
if
(
SUCCEEDED
(
hres
))
hres
=
register_server
(
TRUE
);
return
hres
;
...
...
@@ -673,7 +673,7 @@ HRESULT WINAPI DllRegisterServer(void)
*/
HRESULT
WINAPI
DllUnregisterServer
(
void
)
{
HRESULT
hres
=
__wine_unregister_resources
(
hInst
);
HRESULT
hres
=
__wine_unregister_resources
();
if
(
SUCCEEDED
(
hres
))
hres
=
register_server
(
FALSE
);
return
hres
;
}
...
...
dlls/qcap/qcap_main.c
View file @
1331a8ea
...
...
@@ -234,7 +234,7 @@ HRESULT WINAPI DllRegisterServer(void)
IFilterMapper2
*
mapper
;
HRESULT
hr
;
if
(
FAILED
(
hr
=
__wine_register_resources
(
qcap_instance
)))
if
(
FAILED
(
hr
=
__wine_register_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
@@ -260,7 +260,7 @@ HRESULT WINAPI DllUnregisterServer(void)
IFilterMapper2
*
mapper
;
HRESULT
hr
;
if
(
FAILED
(
hr
=
__wine_unregister_resources
(
qcap_instance
)))
if
(
FAILED
(
hr
=
__wine_unregister_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
dlls/qedit/main.c
View file @
1331a8ea
...
...
@@ -25,13 +25,10 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
qedit
);
static
HINSTANCE
qedit_instance
;
BOOL
WINAPI
DllMain
(
HINSTANCE
instance
,
DWORD
reason
,
void
*
reserved
)
{
if
(
reason
==
DLL_PROCESS_ATTACH
)
{
qedit_instance
=
instance
;
DisableThreadLibraryCalls
(
instance
);
}
else
if
(
reason
==
DLL_PROCESS_DETACH
&&
!
reserved
)
...
...
@@ -240,7 +237,7 @@ HRESULT WINAPI DllRegisterServer(void)
IFilterMapper2
*
mapper
;
HRESULT
hr
;
if
(
FAILED
(
hr
=
__wine_register_resources
(
qedit_instance
)))
if
(
FAILED
(
hr
=
__wine_register_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
@@ -264,7 +261,7 @@ HRESULT WINAPI DllUnregisterServer(void)
IFilterMapper2
*
mapper
;
HRESULT
hr
;
if
(
FAILED
(
hr
=
__wine_unregister_resources
(
qedit_instance
)))
if
(
FAILED
(
hr
=
__wine_unregister_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
dlls/shell32/shell32_main.c
View file @
1331a8ea
...
...
@@ -1174,7 +1174,7 @@ HRESULT WINAPI DllInstall(BOOL bInstall, LPCWSTR cmdline)
*/
HRESULT
WINAPI
DllRegisterServer
(
void
)
{
HRESULT
hr
=
__wine_register_resources
(
shell32_hInstance
);
HRESULT
hr
=
__wine_register_resources
();
if
(
SUCCEEDED
(
hr
))
hr
=
SHELL_RegisterShellFolders
();
return
hr
;
}
...
...
@@ -1184,7 +1184,7 @@ HRESULT WINAPI DllRegisterServer(void)
*/
HRESULT
WINAPI
DllUnregisterServer
(
void
)
{
return
__wine_unregister_resources
(
shell32_hInstance
);
return
__wine_unregister_resources
();
}
/***********************************************************************
...
...
dlls/winecrt0/dll_register.c
View file @
1331a8ea
...
...
@@ -25,23 +25,12 @@
#include "olectl.h"
#include "rpcproxy.h"
static
inline
void
*
image_base
(
void
)
{
#if defined(__MINGW32__) || defined(_MSC_VER)
extern
IMAGE_DOS_HEADER
__ImageBase
;
return
(
void
*
)
&
__ImageBase
;
#else
extern
IMAGE_NT_HEADERS
__wine_spec_nt_header
;
return
(
void
*
)((
__wine_spec_nt_header
.
OptionalHeader
.
ImageBase
+
0xffff
)
&
~
0xffff
);
#endif
}
HRESULT
WINAPI
DllRegisterServer
(
void
)
{
return
__wine_register_resources
(
image_base
()
);
return
__wine_register_resources
();
}
HRESULT
WINAPI
DllUnregisterServer
(
void
)
{
return
__wine_unregister_resources
(
image_base
()
);
return
__wine_unregister_resources
();
}
dlls/winecrt0/register.c
View file @
1331a8ea
...
...
@@ -29,6 +29,17 @@
#include "rpcproxy.h"
#include "atliface.h"
static
inline
void
*
image_base
(
void
)
{
#if defined(__MINGW32__) || defined(_MSC_VER)
extern
IMAGE_DOS_HEADER
__ImageBase
;
return
(
void
*
)
&
__ImageBase
;
#else
extern
IMAGE_NT_HEADERS
__wine_spec_nt_header
;
return
(
void
*
)((
__wine_spec_nt_header
.
OptionalHeader
.
ImageBase
+
0xffff
)
&
~
0xffff
);
#endif
}
static
const
WCHAR
atl100W
[]
=
{
'a'
,
't'
,
'l'
,
'1'
,
'0'
,
'0'
,
'.'
,
'd'
,
'l'
,
'l'
,
0
};
static
const
WCHAR
regtypeW
[]
=
{
'W'
,
'I'
,
'N'
,
'E'
,
'_'
,
'R'
,
'E'
,
'G'
,
'I'
,
'S'
,
'T'
,
'R'
,
'Y'
,
0
};
static
const
WCHAR
moduleW
[]
=
{
'M'
,
'O'
,
'D'
,
'U'
,
'L'
,
'E'
,
0
};
...
...
@@ -97,26 +108,26 @@ static BOOL CALLBACK register_resource( HMODULE module, LPCWSTR type, LPWSTR nam
return
SUCCEEDED
(
info
->
result
);
}
HRESULT
__cdecl
__wine_register_resources
(
HMODULE
module
)
HRESULT
__cdecl
__wine_register_resources
(
void
)
{
struct
reg_info
info
;
info
.
registrar
=
NULL
;
info
.
do_register
=
TRUE
;
info
.
result
=
S_OK
;
EnumResourceNamesW
(
module
,
regtypeW
,
register_resource
,
(
LONG_PTR
)
&
info
);
EnumResourceNamesW
(
image_base
()
,
regtypeW
,
register_resource
,
(
LONG_PTR
)
&
info
);
if
(
info
.
registrar
)
IRegistrar_Release
(
info
.
registrar
);
return
info
.
result
;
}
HRESULT
__cdecl
__wine_unregister_resources
(
HMODULE
module
)
HRESULT
__cdecl
__wine_unregister_resources
(
void
)
{
struct
reg_info
info
;
info
.
registrar
=
NULL
;
info
.
do_register
=
FALSE
;
info
.
result
=
S_OK
;
EnumResourceNamesW
(
module
,
regtypeW
,
register_resource
,
(
LONG_PTR
)
&
info
);
EnumResourceNamesW
(
image_base
()
,
regtypeW
,
register_resource
,
(
LONG_PTR
)
&
info
);
if
(
info
.
registrar
)
IRegistrar_Release
(
info
.
registrar
);
return
info
.
result
;
}
dlls/winegstreamer/main.c
View file @
1331a8ea
...
...
@@ -27,7 +27,6 @@
#include "initguid.h"
#include "gst_guids.h"
static
HINSTANCE
winegstreamer_instance
;
LONG
object_locks
;
WINE_DEFAULT_DEBUG_CHANNEL
(
gstreamer
);
...
...
@@ -38,7 +37,6 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved)
{
if
(
reason
==
DLL_PROCESS_ATTACH
)
{
winegstreamer_instance
=
instance
;
DisableThreadLibraryCalls
(
instance
);
__wine_init_unix_lib
(
instance
,
reason
,
NULL
,
&
unix_funcs
);
}
...
...
@@ -171,9 +169,9 @@ static BOOL CALLBACK init_gstreamer_proc(INIT_ONCE *once, void *param, void **ct
/* Unloading glib is a bad idea.. it installs atexit handlers,
* so never unload the dll after loading */
GetModuleHandleExW
(
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
|
GET_MODULE_HANDLE_EX_FLAG_PIN
,
(
LPCWSTR
)
winegstreamer_instance
,
&
handle
);
(
LPCWSTR
)
init_gstreamer_proc
,
&
handle
);
if
(
!
handle
)
ERR
(
"Failed to pin module
%p.
\n
"
,
winegstreamer_instance
);
ERR
(
"Failed to pin module
.
\n
"
);
return
TRUE
;
}
...
...
@@ -321,7 +319,7 @@ HRESULT WINAPI DllRegisterServer(void)
TRACE
(
".
\n
"
);
if
(
FAILED
(
hr
=
__wine_register_resources
(
winegstreamer_instance
)))
if
(
FAILED
(
hr
=
__wine_register_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
@@ -347,7 +345,7 @@ HRESULT WINAPI DllUnregisterServer(void)
TRACE
(
".
\n
"
);
if
(
FAILED
(
hr
=
__wine_unregister_resources
(
winegstreamer_instance
)))
if
(
FAILED
(
hr
=
__wine_unregister_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
dlls/wineqtdecoder/main.c
View file @
1331a8ea
...
...
@@ -57,18 +57,6 @@ static const WCHAR wQTVName[] =
static
const
WCHAR
wQTDName
[]
=
{
'Q'
,
'T'
,
' '
,
'V'
,
'i'
,
'd'
,
'e'
,
'o'
,
' '
,
'D'
,
'e'
,
'm'
,
'u'
,
'x'
,
0
};
static
HINSTANCE
wineqtdecoder_instance
;
BOOL
WINAPI
DllMain
(
HINSTANCE
instance
,
DWORD
reason
,
void
*
reserved
)
{
if
(
reason
==
DLL_PROCESS_ATTACH
)
{
wineqtdecoder_instance
=
instance
;
DisableThreadLibraryCalls
(
instance
);
}
return
TRUE
;
}
struct
class_factory
{
IClassFactory
IClassFactory_iface
;
...
...
@@ -221,7 +209,7 @@ HRESULT WINAPI DllRegisterServer(void)
TRACE
(
".
\n
"
);
if
(
FAILED
(
hr
=
__wine_register_resources
(
wineqtdecoder_instance
)))
if
(
FAILED
(
hr
=
__wine_register_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
@@ -242,7 +230,7 @@ HRESULT WINAPI DllUnregisterServer(void)
TRACE
(
".
\n
"
);
if
(
FAILED
(
hr
=
__wine_unregister_resources
(
wineqtdecoder_instance
)))
if
(
FAILED
(
hr
=
__wine_unregister_resources
()))
return
hr
;
if
(
FAILED
(
hr
=
CoCreateInstance
(
&
CLSID_FilterMapper2
,
NULL
,
CLSCTX_INPROC_SERVER
,
...
...
include/rpcproxy.h
View file @
1331a8ea
...
...
@@ -203,8 +203,8 @@ RPCRTAPI HRESULT RPC_ENTRY
RPCRTAPI
HRESULT
RPC_ENTRY
NdrDllUnregisterProxy
(
HMODULE
hDll
,
const
ProxyFileInfo
**
pProxyFileList
,
const
CLSID
*
pclsid
);
HRESULT
__cdecl
__wine_register_resources
(
HMODULE
module
)
DECLSPEC_HIDDEN
;
HRESULT
__cdecl
__wine_unregister_resources
(
HMODULE
module
)
DECLSPEC_HIDDEN
;
HRESULT
__cdecl
__wine_register_resources
(
void
)
DECLSPEC_HIDDEN
;
HRESULT
__cdecl
__wine_unregister_resources
(
void
)
DECLSPEC_HIDDEN
;
#define CSTDSTUBBUFFERRELEASE(pFactory) \
ULONG WINAPI CStdStubBuffer_Release(IRpcStubBuffer *This) \
...
...
@@ -289,8 +289,8 @@ ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \
#endif
#ifdef WINE_REGISTER_DLL
# define WINE_DO_REGISTER_DLL(pfl, clsid) return __wine_register_resources(
hProxyDll
)
# define WINE_DO_UNREGISTER_DLL(pfl, clsid) return __wine_unregister_resources(
hProxyDll
)
# define WINE_DO_REGISTER_DLL(pfl, clsid) return __wine_register_resources()
# define WINE_DO_UNREGISTER_DLL(pfl, clsid) return __wine_unregister_resources()
#else
# define WINE_DO_REGISTER_DLL(pfl, clsid) return NdrDllRegisterProxy( hProxyDll, (pfl), (clsid) )
# define WINE_DO_UNREGISTER_DLL(pfl, clsid) return NdrDllUnregisterProxy( hProxyDll, (pfl), (clsid) )
...
...
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