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
5d9ea809
Commit
5d9ea809
authored
Jun 16, 2023
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oleview: Use nameless unions/structs.
parent
52a868a8
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
95 additions
and
101 deletions
+95
-101
details.c
programs/oleview/details.c
+8
-8
interface.c
programs/oleview/interface.c
+1
-1
main.h
programs/oleview/main.h
+0
-6
tree.c
programs/oleview/tree.c
+51
-51
typelib.c
programs/oleview/typelib.c
+35
-35
No files found.
programs/oleview/details.c
View file @
5d9ea809
...
...
@@ -43,9 +43,9 @@ static void CreateRegRec(HKEY hKey, HTREEITEM parent, WCHAR *wszKeyName, BOOL ad
TVINSERTSTRUCTW
tvis
;
HTREEITEM
addPlace
=
parent
;
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
pszText
=
wszTree
;
tvis
.
item
.
mask
=
TVIF_TEXT
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
pszText
=
wszTree
;
tvis
.
hInsertAfter
=
TVI_LAST
;
tvis
.
hParent
=
parent
;
...
...
@@ -61,9 +61,9 @@ static void CreateRegRec(HKEY hKey, HTREEITEM parent, WCHAR *wszKeyName, BOOL ad
{
if
(
!
i
&&
lstrlenW
(
wszKeyName
)
>
1
)
{
U
(
tvis
)
.
item
.
pszText
=
wszKeyName
;
tvis
.
item
.
pszText
=
wszKeyName
;
addPlace
=
TreeView_InsertItemW
(
details
.
hReg
,
&
tvis
);
U
(
tvis
)
.
item
.
pszText
=
wszTree
;
tvis
.
item
.
pszText
=
wszTree
;
}
break
;
}
...
...
@@ -206,9 +206,9 @@ static void CreateReg(WCHAR *buffer)
TVINSERTSTRUCTW
tvis
;
HTREEITEM
addPlace
=
TVI_ROOT
;
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
pszText
=
wszTree
;
tvis
.
item
.
mask
=
TVIF_TEXT
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
pszText
=
wszTree
;
tvis
.
hInsertAfter
=
TVI_LAST
;
tvis
.
hParent
=
TVI_ROOT
;
...
...
programs/oleview/interface.c
View file @
5d9ea809
...
...
@@ -107,7 +107,7 @@ static INT_PTR CALLBACK InterfaceViewerProc(HWND hDlgWnd, UINT uMsg,
IPersistStream_GetSizeMax
((
IPersistStream
*
)
unk
,
&
size
);
IUnknown_Release
(
unk
);
LoadStringW
(
globals
.
hMainInst
,
IDS_BYTES
,
wszBuf
,
ARRAY_SIZE
(
wszBuf
));
wsprintfW
(
wszSize
,
wszFormat
,
U
(
size
)
.
LowPart
,
wszBuf
);
wsprintfW
(
wszSize
,
wszFormat
,
size
.
LowPart
,
wszBuf
);
hObject
=
GetDlgItem
(
hDlgWnd
,
IDC_GETSIZEMAX
);
SetWindowTextW
(
hObject
,
wszSize
);
return
TRUE
;
...
...
programs/oleview/main.h
View file @
5d9ea809
...
...
@@ -26,12 +26,6 @@
#include <commdlg.h>
#include <unknwn.h>
#ifdef NONAMELESSUNION
# define U(x) (x).u
#else
# define U(x) (x)
#endif
#include "resource.h"
#define MAX_LOAD_STRING 256
...
...
programs/oleview/tree.c
View file @
5d9ea809
...
...
@@ -75,10 +75,10 @@ void CreateInst(HTREEITEM item, WCHAR *wszMachineName)
tvi
.
pszText
=
wszTreeName
;
memset
(
&
tvis
,
0
,
sizeof
(
TVINSERTSTRUCTW
));
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
hInsertAfter
=
TVI_FIRST
;
U
(
tvis
)
.
item
.
pszText
=
tvi
.
pszText
;
tvis
.
item
.
pszText
=
tvi
.
pszText
;
tvis
.
hParent
=
item
;
tvis
.
hInsertAfter
=
TVI_LAST
;
...
...
@@ -168,7 +168,7 @@ void CreateInst(HTREEITEM item, WCHAR *wszMachineName)
lstrcpyW
(
wszRegPath
,
wszInterface
);
lstrcpyW
(
&
wszRegPath
[
lstrlenW
(
wszRegPath
)],
((
ITEM_INFO
*
)
tvi
.
lParam
)
->
clsid
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
INTERFACE
|
REGPATH
,
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
INTERFACE
|
REGPATH
,
wszRegPath
,
((
ITEM_INFO
*
)
tvi
.
lParam
)
->
clsid
,
NULL
);
SendMessageW
(
globals
.
hTree
,
TVM_INSERTITEMW
,
0
,
(
LPARAM
)
&
tvis
);
}
...
...
@@ -260,9 +260,9 @@ static void AddCOMandAll(void)
int
i
=-
1
;
memset
(
&
tvi
,
0
,
sizeof
(
TVITEMW
));
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
|
TVIF_CHILDREN
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
cChildren
=
1
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
|
TVIF_CHILDREN
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
cChildren
=
1
;
tvis
.
hInsertAfter
=
TVI_FIRST
;
if
(
RegOpenKeyW
(
HKEY_CLASSES_ROOT
,
wszCLSID
,
&
hKey
)
!=
ERROR_SUCCESS
)
return
;
...
...
@@ -292,10 +292,10 @@ static void AddCOMandAll(void)
lenBuffer
=
sizeof
(
WCHAR
[
MAX_LOAD_STRING
]);
if
(
RegQueryValueW
(
hCurKey
,
NULL
,
buffer
,
&
lenBuffer
)
==
ERROR_SUCCESS
&&
*
buffer
)
U
(
tvis
)
.
item
.
pszText
=
buffer
;
else
U
(
tvis
)
.
item
.
pszText
=
valName
;
tvis
.
item
.
pszText
=
buffer
;
else
tvis
.
item
.
pszText
=
valName
;
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
|
SHOWALL
,
valName
,
valName
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
|
SHOWALL
,
valName
,
valName
,
NULL
);
if
(
tvis
.
hParent
)
SendMessageW
(
globals
.
hTree
,
TVM_INSERTITEMW
,
0
,
(
LPARAM
)
&
tvis
);
if
(
RegOpenKeyW
(
hCurKey
,
wszImplementedCategories
,
&
hInfo
)
==
ERROR_SUCCESS
)
...
...
@@ -320,7 +320,7 @@ static void AddCOMandAll(void)
memmove
(
&
valName
[
6
],
valName
,
sizeof
(
WCHAR
[
MAX_LOAD_STRING
-
6
]));
memmove
(
valName
,
wszCLSID
,
sizeof
(
WCHAR
[
6
]));
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
REGPATH
|
SHOWALL
,
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
REGPATH
|
SHOWALL
,
valName
,
&
valName
[
6
],
NULL
);
SendMessageW
(
globals
.
hTree
,
TVM_INSERTITEMW
,
0
,
(
LPARAM
)
&
tvis
);
...
...
@@ -347,8 +347,8 @@ static void AddApplicationID(void)
LONG
lenBuffer
;
int
i
=-
1
;
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
hInsertAfter
=
TVI_FIRST
;
tvis
.
hParent
=
tree
.
hAID
;
...
...
@@ -365,12 +365,12 @@ static void AddApplicationID(void)
lenBuffer
=
sizeof
(
WCHAR
[
MAX_LOAD_STRING
]);
if
(
RegQueryValueW
(
hCurKey
,
NULL
,
buffer
,
&
lenBuffer
)
==
ERROR_SUCCESS
&&
*
buffer
)
U
(
tvis
)
.
item
.
pszText
=
buffer
;
else
U
(
tvis
)
.
item
.
pszText
=
valName
;
tvis
.
item
.
pszText
=
buffer
;
else
tvis
.
item
.
pszText
=
valName
;
RegCloseKey
(
hCurKey
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
,
valName
,
valName
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
,
valName
,
valName
,
NULL
);
SendMessageW
(
globals
.
hTree
,
TVM_INSERTITEMW
,
0
,
(
LPARAM
)
&
tvis
);
}
RegCloseKey
(
hKey
);
...
...
@@ -392,8 +392,8 @@ static void AddTypeLib(void)
LONG
lenBuffer
;
int
i
=-
1
,
j
;
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
hInsertAfter
=
TVI_FIRST
;
tvis
.
hParent
=
tree
.
hTL
;
...
...
@@ -424,19 +424,19 @@ static void AddTypeLib(void)
LoadStringW
(
globals
.
hMainInst
,
IDS_TL_VER
,
wszVer
,
ARRAY_SIZE
(
wszVer
));
wsprintfW
(
&
buffer
[
lstrlenW
(
buffer
)],
wszFormat
,
wszVer
,
valName
);
U
(
tvis
)
.
item
.
pszText
=
buffer
;
tvis
.
item
.
pszText
=
buffer
;
lenBuffer
=
MAX_LOAD_STRING
;
RegOpenKeyW
(
hInfoKey
,
wszGetPath
,
&
hPath
);
RegQueryValueW
(
hPath
,
NULL
,
wszPath
,
&
lenBuffer
);
RegCloseKey
(
hPath
);
}
else
U
(
tvis
)
.
item
.
pszText
=
valName
;
else
tvis
.
item
.
pszText
=
valName
;
RegCloseKey
(
hInfoKey
);
wsprintfW
(
wszVer
,
wszFormat2
,
valParent
,
valName
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
,
wszVer
,
valParent
,
wszPath
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
,
wszVer
,
valParent
,
wszPath
);
SendMessageW
(
globals
.
hTree
,
TVM_INSERTITEMW
,
0
,
(
LPARAM
)
&
tvis
);
}
...
...
@@ -457,8 +457,8 @@ static void AddInterfaces(void)
LONG
lenBuffer
;
int
i
=-
1
;
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
hInsertAfter
=
TVI_FIRST
;
tvis
.
hParent
=
tree
.
hI
;
...
...
@@ -475,12 +475,12 @@ static void AddInterfaces(void)
lenBuffer
=
sizeof
(
WCHAR
[
MAX_LOAD_STRING
]);
if
(
RegQueryValueW
(
hCurKey
,
NULL
,
buffer
,
&
lenBuffer
)
==
ERROR_SUCCESS
&&
*
buffer
)
U
(
tvis
)
.
item
.
pszText
=
buffer
;
else
U
(
tvis
)
.
item
.
pszText
=
valName
;
tvis
.
item
.
pszText
=
buffer
;
else
tvis
.
item
.
pszText
=
valName
;
RegCloseKey
(
hCurKey
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
|
INTERFACE
,
valName
,
valName
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGPATH
|
INTERFACE
,
valName
,
valName
,
NULL
);
SendMessageW
(
globals
.
hTree
,
TVM_INSERTITEMW
,
0
,
(
LPARAM
)
&
tvis
);
}
...
...
@@ -501,12 +501,12 @@ static void AddComponentCategories(void)
DWORD
lenValName
;
int
i
=-
1
;
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
|
TVIF_CHILDREN
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
|
TVIF_CHILDREN
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
hInsertAfter
=
TVI_FIRST
;
if
(
tree
.
hGBCC
)
tvis
.
hParent
=
tree
.
hGBCC
;
else
tvis
.
hParent
=
TVI_ROOT
;
U
(
tvis
)
.
item
.
cChildren
=
1
;
tvis
.
item
.
cChildren
=
1
;
if
(
RegOpenKeyW
(
HKEY_CLASSES_ROOT
,
wszComponentCategories
,
&
hKey
)
!=
ERROR_SUCCESS
)
return
;
...
...
@@ -524,15 +524,15 @@ static void AddComponentCategories(void)
lenValName
=
sizeof
(
WCHAR
[
MAX_LOAD_STRING
]);
if
(
RegQueryValueW
(
hCurKey
,
NULL
,
buffer
,
&
lenBuffer
)
==
ERROR_SUCCESS
&&
*
buffer
)
U
(
tvis
)
.
item
.
pszText
=
buffer
;
tvis
.
item
.
pszText
=
buffer
;
else
if
(
RegEnumValueW
(
hCurKey
,
0
,
valName
,
&
lenValName
,
NULL
,
NULL
,
(
LPBYTE
)
buffer
,
&
lenBufferHlp
)
==
ERROR_SUCCESS
&&
*
buffer
)
U
(
tvis
)
.
item
.
pszText
=
buffer
;
tvis
.
item
.
pszText
=
buffer
;
else
continue
;
RegCloseKey
(
hCurKey
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
keyName
,
keyName
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
keyName
,
keyName
,
NULL
);
SendMessageW
(
globals
.
hTree
,
TVM_INSERTITEMW
,
0
,
(
LPARAM
)
&
tvis
);
}
...
...
@@ -546,53 +546,53 @@ static void AddBaseEntries(void)
TVINSERTSTRUCTW
tvis
;
WCHAR
name
[
MAX_LOAD_STRING
];
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_CHILDREN
|
TVIF_PARAM
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_CHILDREN
|
TVIF_PARAM
;
/* FIXME add TVIF_IMAGE */
U
(
tvis
)
.
item
.
pszText
=
name
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
cChildren
=
1
;
tvis
.
item
.
pszText
=
name
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
cChildren
=
1
;
tvis
.
hInsertAfter
=
TVI_FIRST
;
tvis
.
hParent
=
TVI_ROOT
;
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_I
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_I
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
wszInterface
,
NULL
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
wszInterface
,
NULL
,
NULL
);
tree
.
hI
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_TL
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_TL
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
wszTypeLib
,
NULL
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
wszTypeLib
,
NULL
,
NULL
);
tree
.
hTL
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_AID
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_AID
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
REGPATH
,
wszAppID
,
NULL
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
REGPATH
,
wszAppID
,
NULL
,
NULL
);
tree
.
hAID
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_OC
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_OC
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
U
(
tvis
)
.
item
.
lParam
=
0
;
tvis
.
item
.
lParam
=
0
;
tree
.
hOC
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
tvis
.
hParent
=
tree
.
hOC
;
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_AO
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_AO
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
wszCLSID
,
NULL
,
NULL
);
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
,
wszCLSID
,
NULL
,
NULL
);
tree
.
hAO
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_CLO
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_CLO
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
tree
.
hCLO
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_O1O
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_O1O
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
U
(
tvis
)
.
item
.
lParam
=
0
;
tvis
.
item
.
lParam
=
0
;
tree
.
hO1O
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_GBCC
,
U
(
tvis
)
.
item
.
pszText
,
LoadStringW
(
globals
.
hMainInst
,
IDS_TREE_GBCC
,
tvis
.
item
.
pszText
,
MAX_LOAD_STRING
);
U
(
tvis
)
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
REGPATH
,
tvis
.
item
.
lParam
=
CreateITEM_INFO
(
REGTOP
|
REGPATH
,
wszComponentCategories
,
NULL
,
NULL
);
tree
.
hGBCC
=
TreeView_InsertItemW
(
globals
.
hTree
,
&
tvis
);
...
...
programs/oleview/typelib.c
View file @
5d9ea809
...
...
@@ -318,26 +318,26 @@ static void CreateTypeInfo(WCHAR *wszAddTo, WCHAR *wszAddAfter, TYPEDESC tdesc,
VTADDTOSTR
(
VT_DATE
);
VTADDTOSTR
(
VT_R8
);
case
VT_CARRAY
:
for
(
i
=
0
;
i
<
U
(
tdesc
)
.
lpadesc
->
cDims
;
i
++
)
for
(
i
=
0
;
i
<
tdesc
.
lpadesc
->
cDims
;
i
++
)
{
wsprintfW
(
wszBuf
,
wszFormat
,
U
(
tdesc
)
.
lpadesc
->
rgbounds
[
i
].
cElements
);
wsprintfW
(
wszBuf
,
wszFormat
,
tdesc
.
lpadesc
->
rgbounds
[
i
].
cElements
);
AddToStrW
(
wszAddAfter
,
wszBuf
);
}
CreateTypeInfo
(
wszAddTo
,
wszAddAfter
,
U
(
tdesc
)
.
lpadesc
->
tdescElem
,
pTypeInfo
);
CreateTypeInfo
(
wszAddTo
,
wszAddAfter
,
tdesc
.
lpadesc
->
tdescElem
,
pTypeInfo
);
break
;
case
VT_SAFEARRAY
:
AddToStrW
(
wszAddTo
,
wszVT_SAFEARRAY
);
AddToStrW
(
wszAddTo
,
L"("
);
CreateTypeInfo
(
wszAddTo
,
wszAddAfter
,
*
U
(
tdesc
)
.
lptdesc
,
pTypeInfo
);
CreateTypeInfo
(
wszAddTo
,
wszAddAfter
,
*
tdesc
.
lptdesc
,
pTypeInfo
);
AddToStrW
(
wszAddTo
,
L")"
);
break
;
case
VT_PTR
:
CreateTypeInfo
(
wszAddTo
,
wszAddAfter
,
*
U
(
tdesc
)
.
lptdesc
,
pTypeInfo
);
CreateTypeInfo
(
wszAddTo
,
wszAddAfter
,
*
tdesc
.
lptdesc
,
pTypeInfo
);
AddToStrW
(
wszAddTo
,
L"*"
);
break
;
case
VT_USERDEFINED
:
hRes
=
ITypeInfo_GetRefTypeInfo
(
pTypeInfo
,
U
(
tdesc
)
.
hreftype
,
&
pRefTypeInfo
);
tdesc
.
hreftype
,
&
pRefTypeInfo
);
if
(
SUCCEEDED
(
hRes
))
{
ITypeInfo_GetDocumentation
(
pRefTypeInfo
,
MEMBERID_NIL
,
...
...
@@ -363,9 +363,9 @@ static int EnumVars(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent)
WCHAR
wszText
[
MAX_LOAD_STRING
];
WCHAR
wszAfter
[
MAX_LOAD_STRING
];
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
pszText
=
wszText
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
pszText
=
wszText
;
tvis
.
hInsertAfter
=
TVI_LAST
;
tvis
.
hParent
=
hParent
;
...
...
@@ -378,7 +378,7 @@ static int EnumVars(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent)
NULL
,
NULL
,
NULL
)))
continue
;
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
if
(
pVarDesc
->
memid
<
MIN_VAR_ID
)
{
...
...
@@ -424,9 +424,9 @@ static int EnumEnums(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent)
WCHAR
wszText
[
MAX_LOAD_STRING
];
WCHAR
wszAfter
[
MAX_LOAD_STRING
];
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
pszText
=
wszText
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
pszText
=
wszText
;
tvis
.
hInsertAfter
=
TVI_LAST
;
tvis
.
hParent
=
hParent
;
...
...
@@ -439,7 +439,7 @@ static int EnumEnums(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent)
NULL
,
NULL
,
NULL
)))
continue
;
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
memset
(
wszText
,
0
,
sizeof
(
wszText
));
memset
(
wszAfter
,
0
,
sizeof
(
wszAfter
));
...
...
@@ -448,7 +448,7 @@ static int EnumEnums(ITypeInfo *pTypeInfo, int cVars, HTREEITEM hParent)
{
VARIANT
var
;
VariantInit
(
&
var
);
if
(
VariantChangeType
(
&
var
,
U
(
*
pVarDesc
).
lpvarValue
,
0
,
VT_BSTR
)
==
S_OK
)
if
(
VariantChangeType
(
&
var
,
pVarDesc
->
lpvarValue
,
0
,
VT_BSTR
)
==
S_OK
)
{
AddToStrW
(
wszText
,
wszConst
);
AddToStrW
(
wszText
,
L" "
);
...
...
@@ -488,7 +488,7 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, HTREEITEM hParen
WCHAR
szRhs
[]
=
{
'r'
,
'h'
,
's'
,
0
};
/* Right-hand side of a propput */
BOOL
bFirst
;
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
hInsertAfter
=
TVI_LAST
;
tvis
.
hParent
=
hParent
;
...
...
@@ -512,9 +512,9 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, HTREEITEM hParen
memset
(
wszText
,
0
,
sizeof
(
wszText
));
memset
(
wszAfter
,
0
,
sizeof
(
wszAfter
));
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
cchTextMax
=
SysStringLen
(
bstrName
);
U
(
tvis
)
.
item
.
pszText
=
bstrName
;
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
cchTextMax
=
SysStringLen
(
bstrName
);
tvis
.
item
.
pszText
=
bstrName
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
bFirst
=
TRUE
;
if
(
pFuncDesc
->
memid
<
MIN_FUNC_ID
||
pTypeAttr
->
wTypeFlags
&
TYPEFLAG_FDUAL
)
{
...
...
@@ -601,7 +601,7 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, HTREEITEM hParen
}
bFirst
=
TRUE
;
#define ENUM_PARAM_FLAG(x)\
if(
U(pFuncDesc->lprgelemdescParam[j])
.paramdesc.wParamFlags & x) \
if(
pFuncDesc->lprgelemdescParam[j]
.paramdesc.wParamFlags & x) \
{\
if(bFirst)\
AddToTLDataStrW(tld, L"[");\
...
...
@@ -619,9 +619,9 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, HTREEITEM hParen
ENUM_PARAM_FLAG
(
PARAMFLAG_FOPT
);
ENUM_PARAM_FLAG
(
PARAMFLAG_FHASCUSTDATA
);
if
(
U
(
pFuncDesc
->
lprgelemdescParam
[
j
])
.
paramdesc
.
wParamFlags
&
PARAMFLAG_FHASDEFAULT
)
if
(
pFuncDesc
->
lprgelemdescParam
[
j
]
.
paramdesc
.
wParamFlags
&
PARAMFLAG_FHASDEFAULT
)
{
VARIANT
var
,
*
param
=&
U
(
pFuncDesc
->
lprgelemdescParam
[
j
])
.
paramdesc
.
pparamdescex
->
varDefaultValue
;
VARIANT
var
,
*
param
=&
pFuncDesc
->
lprgelemdescParam
[
j
]
.
paramdesc
.
pparamdescex
->
varDefaultValue
;
VariantInit
(
&
var
);
if
(
bFirst
)
AddToTLDataStrW
(
tld
,
L"["
);
else
AddToTLDataStrW
(
tld
,
L", "
);
...
...
@@ -684,9 +684,9 @@ static int EnumImplTypes(ITypeInfo *pTypeInfo, int cImplTypes, HTREEITEM hParent
LoadStringW
(
globals
.
hMainInst
,
IDS_INHERITINTERFACES
,
wszInheritedInterfaces
,
ARRAY_SIZE
(
wszInheritedInterfaces
));
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
pszText
=
wszInheritedInterfaces
;
tvis
.
item
.
mask
=
TVIF_TEXT
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
pszText
=
wszInheritedInterfaces
;
tvis
.
hInsertAfter
=
TVI_LAST
;
tvis
.
hParent
=
hParent
;
...
...
@@ -709,8 +709,8 @@ static int EnumImplTypes(ITypeInfo *pTypeInfo, int cImplTypes, HTREEITEM hParent
continue
;
}
U
(
tvis
)
.
item
.
cchTextMax
=
SysStringLen
(
bstrName
);
U
(
tvis
)
.
item
.
pszText
=
bstrName
;
tvis
.
item
.
cchTextMax
=
SysStringLen
(
bstrName
);
tvis
.
item
.
pszText
=
bstrName
;
hParent
=
TreeView_InsertItemW
(
typelib
.
hTree
,
&
tvis
);
EnumVars
(
pRefTypeInfo
,
pTypeAttr
->
cVars
,
hParent
);
...
...
@@ -1100,9 +1100,9 @@ static int PopulateTree(void)
WCHAR
wszProperties
[]
=
{
'p'
,
'r'
,
'o'
,
'p'
,
'e'
,
'r'
,
't'
,
'i'
,
'e'
,
's'
,
'\0'
};
WCHAR
wszMethods
[]
=
{
'm'
,
'e'
,
't'
,
'h'
,
'o'
,
'd'
,
's'
,
'\0'
};
U
(
tvis
)
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
U
(
tvis
)
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
U
(
tvis
)
.
item
.
pszText
=
wszText
;
tvis
.
item
.
mask
=
TVIF_TEXT
|
TVIF_PARAM
;
tvis
.
item
.
cchTextMax
=
MAX_LOAD_STRING
;
tvis
.
item
.
pszText
=
wszText
;
tvis
.
hInsertAfter
=
TVI_LAST
;
tvis
.
hParent
=
TVI_ROOT
;
...
...
@@ -1126,7 +1126,7 @@ static int PopulateTree(void)
ITypeLib_GetLibAttr
(
pTypeLib
,
&
pTLibAttr
);
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
AddToTLDataStrW
(
tld
,
wszGeneratedInfo
);
AddToTLDataStrW
(
tld
,
typelib
.
wszFileName
);
AddToTLDataStrW
(
tld
,
L"
\n\n
[
\n
"
);
...
...
@@ -1177,7 +1177,7 @@ static int PopulateTree(void)
memset
(
wszText
,
0
,
sizeof
(
wszText
));
memset
(
wszAfter
,
0
,
sizeof
(
wszAfter
));
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
switch
(
pTypeAttr
->
typekind
)
{
case
TKIND_ENUM
:
...
...
@@ -1259,7 +1259,7 @@ static int PopulateTree(void)
lstrcpyW
(
wszText
,
wszProperties
);
tvis
.
hParent
=
hParent
;
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
AddToTLDataStrW
(
tld
,
wszProperties
);
AddToTLDataStrW
(
tld
,
L":
\n
"
);
tvis
.
hParent
=
TreeView_InsertItemW
(
typelib
.
hTree
,
&
tvis
);
...
...
@@ -1269,7 +1269,7 @@ static int PopulateTree(void)
lstrcpyW
(
wszText
,
wszMethods
);
tvis
.
hParent
=
hParent
;
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
AddToTLDataStrW
(
tld
,
wszMethods
);
AddToTLDataStrW
(
tld
,
L":
\n
"
);
tvis
.
hParent
=
TreeView_InsertItemW
(
typelib
.
hTree
,
&
tvis
);
...
...
@@ -1293,7 +1293,7 @@ static int PopulateTree(void)
memset
(
wszText
,
0
,
sizeof
(
wszText
));
tld
=
InitializeTLData
();
U
(
tvis
)
.
item
.
lParam
=
(
LPARAM
)
tld
;
tvis
.
item
.
lParam
=
(
LPARAM
)
tld
;
ITypeInfo_GetRefTypeInfo
(
pTypeInfo
,
hRefType
,
&
pRefTypeInfo
);
ITypeInfo_GetDocumentation
(
pRefTypeInfo
,
MEMBERID_NIL
,
&
bstrName
,
...
...
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