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
88373228
Commit
88373228
authored
Jan 02, 2007
by
Eric Pouech
Committed by
Alexandre Julliard
Jan 04, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: Implemented 64 bit versions of EnumerateLoadedModules.
parent
b2557f25
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
71 additions
and
7 deletions
+71
-7
dbghelp.spec
dlls/dbghelp/dbghelp.spec
+2
-2
module.c
dlls/dbghelp/module.c
+67
-5
dbghelp.h
include/dbghelp.h
+2
-0
No files found.
dlls/dbghelp/dbghelp.spec
View file @
88373228
...
...
@@ -3,8 +3,8 @@
@ stdcall EnumDirTree(long str str ptr ptr ptr)
@ stub EnumDirTreeW
@ stdcall EnumerateLoadedModules(long ptr ptr)
@ st
ub EnumerateLoadedModules64
@ st
ub EnumerateLoadedModulesW64
@ st
dcall EnumerateLoadedModules64(long ptr ptr)
@ st
dcall EnumerateLoadedModulesW64(long ptr ptr)
@ stdcall ExtensionApiVersion()
@ stdcall FindDebugInfoFile(str str ptr)
@ stdcall FindDebugInfoFileEx(str str ptr ptr ptr)
...
...
dlls/dbghelp/module.c
View file @
88373228
...
...
@@ -620,12 +620,12 @@ BOOL WINAPI SymEnumerateModules64(HANDLE hProcess,
}
/******************************************************************
* EnumerateLoadedModules (DBGHELP.@)
* EnumerateLoadedModules
64
(DBGHELP.@)
*
*/
BOOL
WINAPI
EnumerateLoadedModules
(
HANDLE
hProcess
,
PENUMLOADED_MODULES_CALLBACK
EnumLoadedModulesCallback
,
PVOID
UserContext
)
BOOL
WINAPI
EnumerateLoadedModules
64
(
HANDLE
hProcess
,
PENUMLOADED_MODULES_CALLBACK64
EnumLoadedModulesCallback
,
PVOID
UserContext
)
{
HMODULE
*
hMods
;
char
base
[
256
],
mod
[
256
];
...
...
@@ -649,7 +649,7 @@ BOOL WINAPI EnumerateLoadedModules(HANDLE hProcess,
!
GetModuleBaseNameA
(
hProcess
,
hMods
[
i
],
base
,
sizeof
(
base
)))
continue
;
module_fill_module
(
base
,
mod
,
sizeof
(
mod
));
EnumLoadedModulesCallback
(
mod
,
(
DWORD
)
mi
.
lpBaseOfDll
,
mi
.
SizeOfImage
,
EnumLoadedModulesCallback
(
mod
,
(
DWORD
_PTR
)
mi
.
lpBaseOfDll
,
mi
.
SizeOfImage
,
UserContext
);
}
HeapFree
(
GetProcessHeap
(),
0
,
hMods
);
...
...
@@ -658,6 +658,68 @@ BOOL WINAPI EnumerateLoadedModules(HANDLE hProcess,
}
/******************************************************************
* EnumerateLoadedModules (DBGHELP.@)
*
*/
struct
enum_load_mod64_32
{
PENUMLOADED_MODULES_CALLBACK
cb
;
PVOID
user
;
};
static
BOOL
CALLBACK
enum_load_mod64_32
(
PSTR
name
,
DWORD64
base
,
ULONG
size
,
PVOID
user
)
{
struct
enum_load_mod64_32
*
x
=
user
;
return
x
->
cb
(
name
,
(
DWORD
)
base
,
size
,
x
->
user
);
}
BOOL
WINAPI
EnumerateLoadedModules
(
HANDLE
hProcess
,
PENUMLOADED_MODULES_CALLBACK
EnumLoadedModulesCallback
,
PVOID
UserContext
)
{
struct
enum_load_mod64_32
x
;
x
.
cb
=
EnumLoadedModulesCallback
;
x
.
user
=
UserContext
;
return
EnumerateLoadedModules64
(
hProcess
,
enum_load_mod64_32
,
&
x
);
}
/******************************************************************
* EnumerateLoadedModulesW64 (DBGHELP.@)
*
*/
struct
enum_load_mod64_W64
{
PENUMLOADED_MODULES_CALLBACKW64
cb
;
PVOID
user
;
WCHAR
module
[
MAX_PATH
];
};
static
BOOL
CALLBACK
enum_load_mod64_W64
(
PSTR
name
,
DWORD64
base
,
ULONG
size
,
PVOID
user
)
{
struct
enum_load_mod64_W64
*
x
=
user
;
MultiByteToWideChar
(
CP_ACP
,
0
,
name
,
-
1
,
x
->
module
,
sizeof
(
x
->
module
)
/
sizeof
(
WCHAR
));
return
x
->
cb
(
x
->
module
,
base
,
size
,
x
->
user
);
}
BOOL
WINAPI
EnumerateLoadedModulesW64
(
HANDLE
hProcess
,
PENUMLOADED_MODULES_CALLBACKW64
EnumLoadedModulesCallback
,
PVOID
UserContext
)
{
struct
enum_load_mod64_W64
x
;
x
.
cb
=
EnumLoadedModulesCallback
;
x
.
user
=
UserContext
;
return
EnumerateLoadedModules64
(
hProcess
,
enum_load_mod64_W64
,
&
x
);
}
/******************************************************************
* SymGetModuleInfo (DBGHELP.@)
*
*/
...
...
include/dbghelp.h
View file @
88373228
...
...
@@ -758,6 +758,8 @@ typedef BOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACK)(PSTR, ULONG, ULONG, PVOID)
BOOL
WINAPI
EnumerateLoadedModules
(
HANDLE
,
PENUMLOADED_MODULES_CALLBACK
,
PVOID
);
typedef
BOOL
(
CALLBACK
*
PENUMLOADED_MODULES_CALLBACK64
)(
PSTR
,
DWORD64
,
ULONG
,
PVOID
);
BOOL
WINAPI
EnumerateLoadedModules64
(
HANDLE
,
PENUMLOADED_MODULES_CALLBACK64
,
PVOID
);
typedef
BOOL
(
CALLBACK
*
PENUMLOADED_MODULES_CALLBACKW64
)(
PWSTR
,
DWORD64
,
ULONG
,
PVOID
);
BOOL
WINAPI
EnumerateLoadedModulesW64
(
HANDLE
,
PENUMLOADED_MODULES_CALLBACKW64
,
PVOID
);
typedef
BOOL
(
CALLBACK
*
PSYM_ENUMMODULES_CALLBACK
)(
PSTR
,
ULONG
,
PVOID
);
BOOL
WINAPI
SymEnumerateModules
(
HANDLE
,
PSYM_ENUMMODULES_CALLBACK
,
PVOID
);
typedef
BOOL
(
CALLBACK
*
PSYM_ENUMMODULES_CALLBACK64
)(
PSTR
,
DWORD64
,
PVOID
);
...
...
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