Fix c_parser.pm so it handles 'const' preceeding a '*'.
Add missing #pragma pack directives for the new shlobj.h types. Fix some field names in CSFV and QCMINFO. Update the generated tests to also check shtypes.h and test some more types.
This commit is contained in:
parent
c9b7791198
commit
c13638ee85
|
@ -963,7 +963,7 @@ HRESULT WINAPI SHCreateShellFolderViewEx(
|
|||
HRESULT hRes;
|
||||
|
||||
TRACE("sf=%p pidl=%p cb=%p mode=0x%08x parm=%p\n",
|
||||
psvcbi->pshf, psvcbi->pidlFolder, psvcbi->pfnCallback,
|
||||
psvcbi->pshf, psvcbi->pidl, psvcbi->pfnCallback,
|
||||
psvcbi->fvm, psvcbi->psvOuter);
|
||||
|
||||
psf = IShellView_Constructor(psvcbi->pshf);
|
||||
|
|
|
@ -824,6 +824,13 @@ static void test_pack_LPCITEMIDLIST(void)
|
|||
TEST_TYPE_POINTER(LPCITEMIDLIST, 3, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPCSHITEMID(void)
|
||||
{
|
||||
/* LPCSHITEMID */
|
||||
TEST_TYPE(LPCSHITEMID, 4, 4);
|
||||
TEST_TYPE_POINTER(LPCSHITEMID, 3, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPITEMIDLIST(void)
|
||||
{
|
||||
/* LPITEMIDLIST */
|
||||
|
@ -831,6 +838,12 @@ static void test_pack_LPITEMIDLIST(void)
|
|||
TEST_TYPE_POINTER(LPITEMIDLIST, 3, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPSHELLDETAILS(void)
|
||||
{
|
||||
/* LPSHELLDETAILS */
|
||||
TEST_TYPE(LPSHELLDETAILS, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack_LPSHITEMID(void)
|
||||
{
|
||||
/* LPSHITEMID */
|
||||
|
@ -838,6 +851,19 @@ static void test_pack_LPSHITEMID(void)
|
|||
TEST_TYPE_POINTER(LPSHITEMID, 3, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPSTRRET(void)
|
||||
{
|
||||
/* LPSTRRET */
|
||||
TEST_TYPE(LPSTRRET, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack_SHELLDETAILS(void)
|
||||
{
|
||||
/* SHELLDETAILS (pack 1) */
|
||||
TEST_FIELD(SHELLDETAILS, int, fmt, 0, 4, 1);
|
||||
TEST_FIELD(SHELLDETAILS, int, cxChar, 4, 4, 1);
|
||||
}
|
||||
|
||||
static void test_pack_SHITEMID(void)
|
||||
{
|
||||
/* SHITEMID (pack 1) */
|
||||
|
@ -846,6 +872,12 @@ static void test_pack_SHITEMID(void)
|
|||
TEST_FIELD(SHITEMID, BYTE[1], abID, 2, 1, 1);
|
||||
}
|
||||
|
||||
static void test_pack_STRRET(void)
|
||||
{
|
||||
/* STRRET (pack 4) */
|
||||
TEST_FIELD(STRRET, UINT, uType, 0, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack_AUTO_SCROLL_DATA(void)
|
||||
{
|
||||
/* AUTO_SCROLL_DATA (pack 1) */
|
||||
|
@ -908,6 +940,17 @@ static void test_pack_CIDA(void)
|
|||
TEST_FIELD(CIDA, UINT[1], aoffset, 4, 4, 1);
|
||||
}
|
||||
|
||||
static void test_pack_CSFV(void)
|
||||
{
|
||||
/* CSFV (pack 1) */
|
||||
TEST_FIELD(CSFV, UINT, cbSize, 0, 4, 1);
|
||||
TEST_FIELD(CSFV, IShellFolder*, pshf, 4, 4, 1);
|
||||
TEST_FIELD(CSFV, IShellView*, psvOuter, 8, 4, 1);
|
||||
TEST_FIELD(CSFV, LPCITEMIDLIST, pidl, 12, 4, 1);
|
||||
TEST_FIELD(CSFV, LONG, lEvents, 16, 4, 1);
|
||||
TEST_FIELD(CSFV, LPFNVIEWCALLBACK, pfnCallback, 20, 4, 1);
|
||||
}
|
||||
|
||||
static void test_pack_DROPFILES(void)
|
||||
{
|
||||
/* DROPFILES (pack 1) */
|
||||
|
@ -1009,6 +1052,12 @@ static void test_pack_LPCABINETSTATE(void)
|
|||
TEST_TYPE_POINTER(LPCABINETSTATE, 12, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPCSFV(void)
|
||||
{
|
||||
/* LPCSFV */
|
||||
TEST_TYPE(LPCSFV, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack_LPDROPFILES(void)
|
||||
{
|
||||
/* LPDROPFILES */
|
||||
|
@ -1044,6 +1093,12 @@ static void test_pack_LPFILEGROUPDESCRIPTORW(void)
|
|||
TEST_TYPE_POINTER(LPFILEGROUPDESCRIPTORW, 596, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPFNVIEWCALLBACK(void)
|
||||
{
|
||||
/* LPFNVIEWCALLBACK */
|
||||
TEST_TYPE(LPFNVIEWCALLBACK, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack_LPIDA(void)
|
||||
{
|
||||
/* LPIDA */
|
||||
|
@ -1051,6 +1106,13 @@ static void test_pack_LPIDA(void)
|
|||
TEST_TYPE_POINTER(LPIDA, 8, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPQCMINFO(void)
|
||||
{
|
||||
/* LPQCMINFO */
|
||||
TEST_TYPE(LPQCMINFO, 4, 4);
|
||||
TEST_TYPE_POINTER(LPQCMINFO, 20, 4);
|
||||
}
|
||||
|
||||
static void test_pack_LPSHChangeDWORDAsIDList(void)
|
||||
{
|
||||
/* LPSHChangeDWORDAsIDList */
|
||||
|
@ -1086,6 +1148,13 @@ static void test_pack_LPSHELLSTATE(void)
|
|||
TEST_TYPE_POINTER(LPSHELLSTATE, 32, 1);
|
||||
}
|
||||
|
||||
static void test_pack_LPTBINFO(void)
|
||||
{
|
||||
/* LPTBINFO */
|
||||
TEST_TYPE(LPTBINFO, 4, 4);
|
||||
TEST_TYPE_POINTER(LPTBINFO, 8, 4);
|
||||
}
|
||||
|
||||
static void test_pack_PBROWSEINFOA(void)
|
||||
{
|
||||
/* PBROWSEINFOA */
|
||||
|
@ -1100,6 +1169,33 @@ static void test_pack_PBROWSEINFOW(void)
|
|||
TEST_TYPE_POINTER(PBROWSEINFOW, 32, 4);
|
||||
}
|
||||
|
||||
static void test_pack_QCMINFO(void)
|
||||
{
|
||||
/* QCMINFO (pack 8) */
|
||||
TEST_TYPE(QCMINFO, 20, 4);
|
||||
TEST_FIELD(QCMINFO, HMENU, hmenu, 0, 4, 4);
|
||||
TEST_FIELD(QCMINFO, UINT, indexMenu, 4, 4, 4);
|
||||
TEST_FIELD(QCMINFO, UINT, idCmdFirst, 8, 4, 4);
|
||||
TEST_FIELD(QCMINFO, UINT, idCmdLast, 12, 4, 4);
|
||||
TEST_FIELD(QCMINFO, QCMINFO_IDMAP const*, pIdMap, 16, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack_QCMINFO_IDMAP(void)
|
||||
{
|
||||
/* QCMINFO_IDMAP (pack 8) */
|
||||
TEST_TYPE(QCMINFO_IDMAP, 12, 4);
|
||||
TEST_FIELD(QCMINFO_IDMAP, UINT, nMaxIds, 0, 4, 4);
|
||||
TEST_FIELD(QCMINFO_IDMAP, QCMINFO_IDMAP_PLACEMENT[1], pIdList, 4, 8, 4);
|
||||
}
|
||||
|
||||
static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
|
||||
{
|
||||
/* QCMINFO_IDMAP_PLACEMENT (pack 8) */
|
||||
TEST_TYPE(QCMINFO_IDMAP_PLACEMENT, 8, 4);
|
||||
TEST_FIELD(QCMINFO_IDMAP_PLACEMENT, UINT, id, 0, 4, 4);
|
||||
TEST_FIELD(QCMINFO_IDMAP_PLACEMENT, UINT, fFlags, 4, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack_SHChangeDWORDAsIDList(void)
|
||||
{
|
||||
/* SHChangeDWORDAsIDList (pack 1) */
|
||||
|
@ -1159,6 +1255,14 @@ static void test_pack_SHELLVIEWID(void)
|
|||
TEST_TYPE(SHELLVIEWID, 16, 4);
|
||||
}
|
||||
|
||||
static void test_pack_TBINFO(void)
|
||||
{
|
||||
/* TBINFO (pack 8) */
|
||||
TEST_TYPE(TBINFO, 8, 4);
|
||||
TEST_FIELD(TBINFO, UINT, cbuttons, 0, 4, 4);
|
||||
TEST_FIELD(TBINFO, UINT, uFlags, 4, 4, 4);
|
||||
}
|
||||
|
||||
static void test_pack(void)
|
||||
{
|
||||
test_pack_APPBARDATA();
|
||||
|
@ -1179,6 +1283,7 @@ static void test_pack(void)
|
|||
test_pack_COAUTHIDENTITY();
|
||||
test_pack_COAUTHINFO();
|
||||
test_pack_COSERVERINFO();
|
||||
test_pack_CSFV();
|
||||
test_pack_DRAGINFOA();
|
||||
test_pack_DRAGINFOW();
|
||||
test_pack_DROPFILES();
|
||||
|
@ -1208,6 +1313,8 @@ static void test_pack(void)
|
|||
test_pack_LPCABINETSTATE();
|
||||
test_pack_LPCITEMIDLIST();
|
||||
test_pack_LPCOLESTR();
|
||||
test_pack_LPCSFV();
|
||||
test_pack_LPCSHITEMID();
|
||||
test_pack_LPCY();
|
||||
test_pack_LPDECIMAL();
|
||||
test_pack_LPDRAGINFOA();
|
||||
|
@ -1217,13 +1324,16 @@ static void test_pack(void)
|
|||
test_pack_LPFILEDESCRIPTORW();
|
||||
test_pack_LPFILEGROUPDESCRIPTORA();
|
||||
test_pack_LPFILEGROUPDESCRIPTORW();
|
||||
test_pack_LPFNVIEWCALLBACK();
|
||||
test_pack_LPGUID();
|
||||
test_pack_LPIDA();
|
||||
test_pack_LPITEMIDLIST();
|
||||
test_pack_LPOLESTR();
|
||||
test_pack_LPQCMINFO();
|
||||
test_pack_LPSHChangeDWORDAsIDList();
|
||||
test_pack_LPSHChangeProductKeyAsIDList();
|
||||
test_pack_LPSHDESCRIPTIONID();
|
||||
test_pack_LPSHELLDETAILS();
|
||||
test_pack_LPSHELLEXECUTEINFOA();
|
||||
test_pack_LPSHELLEXECUTEINFOW();
|
||||
test_pack_LPSHELLFLAGSTATE();
|
||||
|
@ -1233,6 +1343,8 @@ static void test_pack(void)
|
|||
test_pack_LPSHITEMID();
|
||||
test_pack_LPSHNAMEMAPPINGA();
|
||||
test_pack_LPSHNAMEMAPPINGW();
|
||||
test_pack_LPSTRRET();
|
||||
test_pack_LPTBINFO();
|
||||
test_pack_NOTIFYICONDATAA();
|
||||
test_pack_NOTIFYICONDATAW();
|
||||
test_pack_OLECHAR();
|
||||
|
@ -1243,6 +1355,9 @@ static void test_pack(void)
|
|||
test_pack_PNOTIFYICONDATAW();
|
||||
test_pack_PRINTEROP_FLAGS();
|
||||
test_pack_PROPID();
|
||||
test_pack_QCMINFO();
|
||||
test_pack_QCMINFO_IDMAP();
|
||||
test_pack_QCMINFO_IDMAP_PLACEMENT();
|
||||
test_pack_RemHBITMAP();
|
||||
test_pack_RemHENHMETAFILE();
|
||||
test_pack_RemHGLOBAL();
|
||||
|
@ -1253,6 +1368,7 @@ static void test_pack(void)
|
|||
test_pack_SHChangeNotifyEntry();
|
||||
test_pack_SHChangeProductKeyAsIDList();
|
||||
test_pack_SHDESCRIPTIONID();
|
||||
test_pack_SHELLDETAILS();
|
||||
test_pack_SHELLEXECUTEINFOA();
|
||||
test_pack_SHELLEXECUTEINFOW();
|
||||
test_pack_SHELLFLAGSTATE();
|
||||
|
@ -1265,6 +1381,8 @@ static void test_pack(void)
|
|||
test_pack_SHITEMID();
|
||||
test_pack_SHNAMEMAPPINGA();
|
||||
test_pack_SHNAMEMAPPINGW();
|
||||
test_pack_STRRET();
|
||||
test_pack_TBINFO();
|
||||
test_pack_UP_BYTE_BLOB();
|
||||
test_pack_UP_FLAGGED_BYTE_BLOB();
|
||||
test_pack_UP_FLAGGED_WORD_BLOB();
|
||||
|
|
|
@ -295,10 +295,10 @@ typedef HRESULT (CALLBACK *LPFNVIEWCALLBACK)(
|
|||
|
||||
typedef struct _CSFV
|
||||
{
|
||||
UINT uSize;
|
||||
UINT cbSize;
|
||||
IShellFolder* pshf;
|
||||
IShellView* psvOuter;
|
||||
LPCITEMIDLIST pidlFolder;
|
||||
LPCITEMIDLIST pidl;
|
||||
LONG lEvents;
|
||||
LPFNVIEWCALLBACK pfnCallback;
|
||||
FOLDERVIEWMODE fvm;
|
||||
|
@ -365,6 +365,7 @@ HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv);
|
|||
#define SFVM_GETDEFERREDVIEWSETTINGS 92 /* undocumented */
|
||||
|
||||
/* Types and definitions for the SFM_* parameters */
|
||||
#include <pshpack8.h>
|
||||
|
||||
#define QCMINFO_PLACE_BEFORE 0
|
||||
#define QCMINFO_PLACE_AFTER 1
|
||||
|
@ -382,7 +383,7 @@ typedef struct _QCMINFO_IDMAP
|
|||
|
||||
typedef struct _QCMINFO
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hmenu;
|
||||
UINT indexMenu;
|
||||
UINT idCmdFirst;
|
||||
UINT idCmdLast;
|
||||
|
@ -403,6 +404,8 @@ typedef struct _TBINFO
|
|||
UINT uFlags;
|
||||
} TBINFO, *LPTBINFO;
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
/****************************************************************************
|
||||
* SHShellFolderView_Message API
|
||||
*/
|
||||
|
|
|
@ -1979,7 +1979,7 @@ sub parse_c_variable {
|
|||
}
|
||||
|
||||
$finished = 1;
|
||||
} elsif(s/^((?:enum\s+|struct\s+|union\s+)?\w+\b(?:\s+DECLSPEC_ALIGN\(.*?\)|\s*\*)*)\s*(\w+)\s*(\[.*?\]$|:\s*(\d+)$|\{)?//s) {
|
||||
} elsif(s/^((?:enum\s+|struct\s+|union\s+)?\w+\b(?:\s+DECLSPEC_ALIGN\(.*?\)|\s*(?:const\s*)?\*)*)\s*(\w+)\s*(\[.*?\]$|:\s*(\d+)$|\{)?//s) {
|
||||
$type = "$sign$1";
|
||||
$name = $2;
|
||||
|
||||
|
|
|
@ -924,6 +924,7 @@ windef.h
|
|||
wtypes.h
|
||||
guiddef.h
|
||||
shellapi.h
|
||||
shtypes.h
|
||||
shlobj.h
|
||||
|
||||
%include
|
||||
|
@ -957,6 +958,7 @@ CLSID
|
|||
COAUTHIDENTITY
|
||||
COAUTHINFO
|
||||
COSERVERINFO
|
||||
CSFV
|
||||
DATE
|
||||
DOUBLE
|
||||
DRAGINFOA
|
||||
|
@ -988,6 +990,8 @@ LPBSTRBLOB
|
|||
LPCABINETSTATE
|
||||
LPCITEMIDLIST
|
||||
LPCOLESTR
|
||||
LPCSFV
|
||||
LPCSHITEMID
|
||||
LPCY
|
||||
LPDECIMAL
|
||||
LPDRAGINFOA
|
||||
|
@ -997,13 +1001,16 @@ LPFILEDESCRIPTORA
|
|||
LPFILEDESCRIPTORW
|
||||
LPFILEGROUPDESCRIPTORA
|
||||
LPFILEGROUPDESCRIPTORW
|
||||
LPFNVIEWCALLBACK
|
||||
LPGUID
|
||||
LPIDA
|
||||
LPITEMIDLIST
|
||||
LPOLESTR
|
||||
LPQCMINFO
|
||||
LPSHChangeDWORDAsIDList
|
||||
LPSHChangeProductKeyAsIDList
|
||||
LPSHDESCRIPTIONID
|
||||
LPSHELLDETAILS
|
||||
LPSHELLEXECUTEINFOA
|
||||
LPSHELLEXECUTEINFOW
|
||||
LPSHELLFLAGSTATE
|
||||
|
@ -1013,6 +1020,8 @@ LPSHFILEOPSTRUCTW
|
|||
LPSHITEMID
|
||||
LPSHNAMEMAPPINGA
|
||||
LPSHNAMEMAPPINGW
|
||||
LPSTRRET
|
||||
LPTBINFO
|
||||
NOTIFYICONDATAA
|
||||
NOTIFYICONDATAW
|
||||
OLECHAR
|
||||
|
@ -1023,6 +1032,9 @@ PNOTIFYICONDATAA
|
|||
PNOTIFYICONDATAW
|
||||
PRINTEROP_FLAGS
|
||||
PROPID
|
||||
QCMINFO
|
||||
QCMINFO_IDMAP
|
||||
QCMINFO_IDMAP_PLACEMENT
|
||||
RemHBITMAP
|
||||
RemHENHMETAFILE
|
||||
RemHGLOBAL
|
||||
|
@ -1033,6 +1045,7 @@ SHChangeDWORDAsIDList
|
|||
SHChangeNotifyEntry
|
||||
SHChangeProductKeyAsIDList
|
||||
SHDESCRIPTIONID
|
||||
SHELLDETAILS
|
||||
SHELLEXECUTEINFOA
|
||||
SHELLEXECUTEINFOW
|
||||
SHELLFLAGSTATE
|
||||
|
@ -1045,6 +1058,9 @@ SHFILEOPSTRUCTW
|
|||
SHITEMID
|
||||
SHNAMEMAPPINGA
|
||||
SHNAMEMAPPINGW
|
||||
STRRET
|
||||
STRRET_TYPE
|
||||
TBINFO
|
||||
UP_BYTE_BLOB
|
||||
UP_FLAGGED_BYTE_BLOB
|
||||
UP_FLAGGED_WORD_BLOB
|
||||
|
|
Loading…
Reference in New Issue