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
fa9950f9
Commit
fa9950f9
authored
Jan 26, 2008
by
Francois Gouget
Committed by
Alexandre Julliard
Feb 04, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedump: Add support for dumping SZ_LINK and SPECIAL_FOLDER data blocks.
parent
79a6f419
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
0 deletions
+27
-0
lnk.c
tools/winedump/lnk.c
+27
-0
No files found.
tools/winedump/lnk.c
View file @
fa9950f9
...
...
@@ -63,6 +63,8 @@ typedef enum {
SLDF_RESERVED
=
0x80000000
,
}
SHELL_LINK_DATA_FLAGS
;
#define EXP_SZ_LINK_SIG 0xa0000001
#define EXP_SPECIAL_FOLDER_SIG 0xa0000005
#define EXP_DARWIN_ID_SIG 0xa0000006
#define EXP_SZ_ICON_SIG 0xa0000007
...
...
@@ -116,6 +118,14 @@ typedef struct _LOCAL_VOLUME_INFO
DWORD
dwVolLabelOfs
;
}
LOCAL_VOLUME_INFO
;
typedef
struct
{
DWORD
cbSize
;
DWORD
dwSignature
;
DWORD
idSpecialFolder
;
DWORD
cbOffset
;
}
EXP_SPECIAL_FOLDER
;
typedef
struct
lnk_string_tag
{
unsigned
short
size
;
...
...
@@ -288,6 +298,17 @@ static int base85_to_guid( const char *str, LPGUID guid )
return
1
;
}
static
int
dump_special_folder_block
(
const
DATABLOCK_HEADER
*
bhdr
)
{
const
EXP_SPECIAL_FOLDER
*
sfb
=
(
const
EXP_SPECIAL_FOLDER
*
)
bhdr
;
printf
(
"Special folder block
\n
"
);
printf
(
"--------------------
\n\n
"
);
printf
(
"folder = 0x%04x
\n
"
,
sfb
->
idSpecialFolder
);
printf
(
"offset = %d
\n
"
,
sfb
->
cbOffset
);
printf
(
"
\n
"
);
return
0
;
}
static
int
dump_sz_block
(
const
DATABLOCK_HEADER
*
bhdr
,
const
char
*
label
)
{
const
LINK_SZ_BLOCK
*
szp
=
(
const
LINK_SZ_BLOCK
*
)
bhdr
;
...
...
@@ -481,6 +502,12 @@ void lnk_dump(void)
break
;
switch
(
bhdr
->
dwSignature
)
{
case
EXP_SZ_LINK_SIG
:
dump_sz_block
(
bhdr
,
"exp.link"
);
break
;
case
EXP_SPECIAL_FOLDER_SIG
:
dump_special_folder_block
(
bhdr
);
break
;
case
EXP_SZ_ICON_SIG
:
dump_sz_block
(
bhdr
,
"icon"
);
break
;
...
...
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