Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.8 KiB

  1. /****************************************************************************/
  2. /* */
  3. /* CONVGRP.H - */
  4. /* */
  5. /* Header file for the conversion from Windows NT 1.0 program group */
  6. /* format with ANSI strings to Windows NT 1.0a group format */
  7. /* with UNICODE strings. */
  8. /* */
  9. /* Created: 09-10-93 Johanne Caron */
  10. /* */
  11. /****************************************************************************/
  12. // -- old 32 bit ansi group structures --
  13. typedef struct tagGROUPDEF_A {
  14. DWORD dwMagic; /* magical bytes 'PMCC' */
  15. WORD wCheckSum; /* adjust this for zero sum of file */
  16. WORD cbGroup; /* length of group segment */
  17. RECT rcNormal; /* rectangle of normal window */
  18. POINT ptMin; /* point of icon */
  19. WORD nCmdShow; /* min, max, or normal state */
  20. WORD pName; /* name of group */
  21. /* these four change interpretation */
  22. WORD cxIcon; /* width of icons */
  23. WORD cyIcon; /* hieght of icons */
  24. WORD wIconFormat; /* planes and BPP in icons */
  25. WORD wReserved; /* This word is no longer used. */
  26. WORD cItems; /* number of items in group */
  27. WORD rgiItems[1]; /* array of ITEMDEF offsets */
  28. } GROUPDEF_A, *PGROUPDEF_A;
  29. typedef GROUPDEF_A *LPGROUPDEF_A;
  30. typedef struct tagITEMDEF_A {
  31. POINT pt; /* location of item icon in group */
  32. WORD idIcon; /* id of item icon */
  33. WORD wIconVer; /* icon version */
  34. WORD cbIconRes; /* size of icon resource */
  35. WORD indexIcon; /* index of item icon */
  36. WORD dummy2; /* - not used anymore */
  37. WORD pIconRes; /* offset of icon resource */
  38. WORD dummy3; /* - not used anymore */
  39. WORD pName; /* offset of name string */
  40. WORD pCommand; /* offset of command string */
  41. WORD pIconPath; /* offset of icon path */
  42. } ITEMDEF_A, *PITEMDEF_A;
  43. typedef ITEMDEF_A *LPITEMDEF_A;
  44. //
  45. // Defined in pmgseg.c
  46. //
  47. DWORD PASCAL AddThing(HANDLE hGroup, LPTSTR lpStuff, DWORD cbStuff);
  48. WORD PASCAL AddUpGroupFile(LPGROUPDEF lpgd);
  49. INT PASCAL AddTag(HANDLE h, int item, WORD id, LPTSTR lpbuf, int cb);
  50. DWORD PASCAL SizeofGroup(LPGROUPDEF lpgd);
  51. int ConvertToUnicodeGroup(LPGROUPDEF_A lpGroupORI, LPHANDLE lphNewGroup);