windows-nt/Source/XPSP1/NT/shell/osshell/progman/convgrp.h
2020-09-26 16:20:57 +08:00

58 lines
2.8 KiB
C

/****************************************************************************/
/* */
/* CONVGRP.H - */
/* */
/* Header file for the conversion from Windows NT 1.0 program group */
/* format with ANSI strings to Windows NT 1.0a group format */
/* with UNICODE strings. */
/* */
/* Created: 09-10-93 Johanne Caron */
/* */
/****************************************************************************/
// -- old 32 bit ansi group structures --
typedef struct tagGROUPDEF_A {
DWORD dwMagic; /* magical bytes 'PMCC' */
WORD wCheckSum; /* adjust this for zero sum of file */
WORD cbGroup; /* length of group segment */
RECT rcNormal; /* rectangle of normal window */
POINT ptMin; /* point of icon */
WORD nCmdShow; /* min, max, or normal state */
WORD pName; /* name of group */
/* these four change interpretation */
WORD cxIcon; /* width of icons */
WORD cyIcon; /* hieght of icons */
WORD wIconFormat; /* planes and BPP in icons */
WORD wReserved; /* This word is no longer used. */
WORD cItems; /* number of items in group */
WORD rgiItems[1]; /* array of ITEMDEF offsets */
} GROUPDEF_A, *PGROUPDEF_A;
typedef GROUPDEF_A *LPGROUPDEF_A;
typedef struct tagITEMDEF_A {
POINT pt; /* location of item icon in group */
WORD idIcon; /* id of item icon */
WORD wIconVer; /* icon version */
WORD cbIconRes; /* size of icon resource */
WORD indexIcon; /* index of item icon */
WORD dummy2; /* - not used anymore */
WORD pIconRes; /* offset of icon resource */
WORD dummy3; /* - not used anymore */
WORD pName; /* offset of name string */
WORD pCommand; /* offset of command string */
WORD pIconPath; /* offset of icon path */
} ITEMDEF_A, *PITEMDEF_A;
typedef ITEMDEF_A *LPITEMDEF_A;
//
// Defined in pmgseg.c
//
DWORD PASCAL AddThing(HANDLE hGroup, LPTSTR lpStuff, DWORD cbStuff);
WORD PASCAL AddUpGroupFile(LPGROUPDEF lpgd);
INT PASCAL AddTag(HANDLE h, int item, WORD id, LPTSTR lpbuf, int cb);
DWORD PASCAL SizeofGroup(LPGROUPDEF lpgd);
int ConvertToUnicodeGroup(LPGROUPDEF_A lpGroupORI, LPHANDLE lphNewGroup);