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
d2d85a1b
Commit
d2d85a1b
authored
May 10, 2006
by
Eric Pouech
Committed by
Alexandre Julliard
May 11, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dbghelp: Implemented SymGetModuleInfoW and SymGetModuleInfoW64.
parent
922a7bd1
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
84 additions
and
3 deletions
+84
-3
dbghelp.spec
dlls/dbghelp/dbghelp.spec
+2
-2
module.c
dlls/dbghelp/module.c
+81
-0
dbghelp.h
include/dbghelp.h
+1
-1
No files found.
dlls/dbghelp/dbghelp.spec
View file @
d2d85a1b
...
...
@@ -83,8 +83,8 @@
@ stdcall SymGetModuleBase64(long double)
@ stdcall SymGetModuleInfo(long long ptr)
@ stdcall SymGetModuleInfo64(long double ptr)
@ st
ub SymGetModuleInfoW
@ st
ub SymGetModuleInfoW64
@ st
dcall SymGetModuleInfoW(long long ptr)
@ st
dcall SymGetModuleInfoW64(long double ptr)
@ stub SymGetOmapBlockBase
@ stdcall SymGetOptions()
@ stub SymGetScope
...
...
dlls/dbghelp/module.c
View file @
d2d85a1b
...
...
@@ -661,6 +661,39 @@ BOOL WINAPI SymGetModuleInfo(HANDLE hProcess, DWORD dwAddr,
}
/******************************************************************
* SymGetModuleInfoW (DBGHELP.@)
*
*/
BOOL
WINAPI
SymGetModuleInfoW
(
HANDLE
hProcess
,
DWORD
dwAddr
,
PIMAGEHLP_MODULEW
ModuleInfo
)
{
IMAGEHLP_MODULE
mi
;
IMAGEHLP_MODULEW
miw
;
if
(
sizeof
(
miw
)
<
ModuleInfo
->
SizeOfStruct
)
FIXME
(
"Wrong size
\n
"
);
mi
.
SizeOfStruct
=
sizeof
(
mi
);
if
(
!
SymGetModuleInfo
(
hProcess
,
dwAddr
,
&
mi
))
return
FALSE
;
miw
.
SizeOfStruct
=
mi
.
SizeOfStruct
;
miw
.
BaseOfImage
=
mi
.
BaseOfImage
;
miw
.
ImageSize
=
mi
.
ImageSize
;
miw
.
TimeDateStamp
=
mi
.
TimeDateStamp
;
miw
.
CheckSum
=
mi
.
CheckSum
;
miw
.
NumSyms
=
mi
.
NumSyms
;
miw
.
SymType
=
mi
.
SymType
;
MultiByteToWideChar
(
CP_ACP
,
0
,
mi
.
ModuleName
,
-
1
,
miw
.
ModuleName
,
sizeof
(
miw
.
ModuleName
)
/
sizeof
(
WCHAR
));
MultiByteToWideChar
(
CP_ACP
,
0
,
mi
.
ImageName
,
-
1
,
miw
.
ImageName
,
sizeof
(
miw
.
ImageName
)
/
sizeof
(
WCHAR
));
MultiByteToWideChar
(
CP_ACP
,
0
,
mi
.
LoadedImageName
,
-
1
,
miw
.
LoadedImageName
,
sizeof
(
miw
.
LoadedImageName
)
/
sizeof
(
WCHAR
));
memcpy
(
ModuleInfo
,
&
miw
,
ModuleInfo
->
SizeOfStruct
);
return
TRUE
;
}
/******************************************************************
* SymGetModuleInfo64 (DBGHELP.@)
*
*/
...
...
@@ -720,6 +753,54 @@ BOOL WINAPI SymGetModuleInfo64(HANDLE hProcess, DWORD64 dwAddr,
return
TRUE
;
}
/******************************************************************
* SymGetModuleInfoW64 (DBGHELP.@)
*
*/
BOOL
WINAPI
SymGetModuleInfoW64
(
HANDLE
hProcess
,
DWORD64
dwAddr
,
PIMAGEHLP_MODULEW64
ModuleInfo
)
{
IMAGEHLP_MODULE64
mi
;
IMAGEHLP_MODULEW64
miw
;
if
(
sizeof
(
miw
)
<
ModuleInfo
->
SizeOfStruct
)
FIXME
(
"Wrong size
\n
"
);
mi
.
SizeOfStruct
=
sizeof
(
mi
);
if
(
!
SymGetModuleInfo64
(
hProcess
,
dwAddr
,
&
mi
))
return
FALSE
;
miw
.
SizeOfStruct
=
mi
.
SizeOfStruct
;
miw
.
BaseOfImage
=
mi
.
BaseOfImage
;
miw
.
ImageSize
=
mi
.
ImageSize
;
miw
.
TimeDateStamp
=
mi
.
TimeDateStamp
;
miw
.
CheckSum
=
mi
.
CheckSum
;
miw
.
NumSyms
=
mi
.
NumSyms
;
miw
.
SymType
=
mi
.
SymType
;
MultiByteToWideChar
(
CP_ACP
,
0
,
mi
.
ModuleName
,
-
1
,
miw
.
ModuleName
,
sizeof
(
miw
.
ModuleName
)
/
sizeof
(
WCHAR
));
MultiByteToWideChar
(
CP_ACP
,
0
,
mi
.
ImageName
,
-
1
,
miw
.
ImageName
,
sizeof
(
miw
.
ImageName
)
/
sizeof
(
WCHAR
));
MultiByteToWideChar
(
CP_ACP
,
0
,
mi
.
LoadedImageName
,
-
1
,
miw
.
LoadedImageName
,
sizeof
(
miw
.
LoadedImageName
)
/
sizeof
(
WCHAR
));
miw
.
CVSig
=
mi
.
CVSig
;
MultiByteToWideChar
(
CP_ACP
,
0
,
mi
.
CVData
,
-
1
,
miw
.
CVData
,
sizeof
(
miw
.
CVData
)
/
sizeof
(
WCHAR
));
miw
.
PdbSig
=
mi
.
PdbSig
;
miw
.
PdbSig70
=
mi
.
PdbSig70
;
miw
.
PdbAge
=
mi
.
PdbAge
;
miw
.
PdbUnmatched
=
mi
.
PdbUnmatched
;
miw
.
DbgUnmatched
=
mi
.
DbgUnmatched
;
miw
.
LineNumbers
=
mi
.
LineNumbers
;
miw
.
GlobalSymbols
=
mi
.
GlobalSymbols
;
miw
.
TypeInfo
=
mi
.
TypeInfo
;
miw
.
SourceIndexed
=
mi
.
SourceIndexed
;
miw
.
Publics
=
mi
.
Publics
;
memcpy
(
ModuleInfo
,
&
miw
,
ModuleInfo
->
SizeOfStruct
);
return
TRUE
;
}
/***********************************************************************
* SymGetModuleBase (DBGHELP.@)
*/
...
...
include/dbghelp.h
View file @
d2d85a1b
...
...
@@ -172,7 +172,7 @@ typedef struct _IMAGEHLP_MODULE64
BOOL
Publics
;
}
IMAGEHLP_MODULE64
,
*
PIMAGEHLP_MODULE64
;
typedef
struct
_IMAGEHLP_MODULE
64W
typedef
struct
_IMAGEHLP_MODULE
W64
{
DWORD
SizeOfStruct
;
DWORD64
BaseOfImage
;
...
...
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