umx.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _UMX_H_
  7. #define _UMX_H_
  8. #include <_mingw_unicode.h>
  9. #define UME_MENU_TEXT_LEN 50
  10. #define UME_VERSION 0
  11. #define UMS_LISTBOX_USERS 0
  12. #define UMS_LISTBOX_GROUPS 1
  13. #define UM_GETSELCOUNT (WM_USER + 1000)
  14. #define UM_GETUSERSELA (WM_USER + 1001)
  15. #define UM_GETUSERSELW (WM_USER + 1002)
  16. #define UM_GETGROUPSELA (WM_USER + 1003)
  17. #define UM_GETGROUPSELW (WM_USER + 1004)
  18. #define UM_GETCURFOCUSA (WM_USER + 1005)
  19. #define UM_GETCURFOCUSW (WM_USER + 1006)
  20. #define UM_GETOPTIONS (WM_USER + 1007)
  21. #define UM_GETOPTIONS2 (WM_USER + 1008)
  22. #define UM_GETUSERSEL __MINGW_NAME_AW(UM_GETUSERSEL)
  23. #define UM_GETGROUPSEL __MINGW_NAME_AW(UM_GETGROUPSEL)
  24. #define UM_GETCURFOCUS __MINGW_NAME_AW(UM_GETCURFOCUS)
  25. typedef struct _UMS_LOADMENUA {
  26. DWORD dwVersion;
  27. CHAR szMenuName[UME_MENU_TEXT_LEN + 1];
  28. HMENU hMenu;
  29. CHAR szHelpFileName[MAX_PATH];
  30. DWORD dwMenuDelta;
  31. } UMS_LOADMENUA,*PUMS_LOADMENUA;
  32. typedef struct _UMS_LOADMENUW {
  33. DWORD dwVersion;
  34. WCHAR szMenuName[UME_MENU_TEXT_LEN + 1];
  35. HMENU hMenu;
  36. WCHAR szHelpFileName[MAX_PATH];
  37. DWORD dwMenuDelta;
  38. } UMS_LOADMENUW,*PUMS_LOADMENUW;
  39. #define UMS_LOADMENU __MINGW_NAME_AW(UMS_LOADMENU)
  40. #define PUMS_LOADMENU __MINGW_NAME_AW(PUMS_LOADMENU)
  41. #define UM_SELTYPE_USER 0x10
  42. #define UM_SELTYPE_NORMALUSER 0x1 | UM_SELTYPE_USER
  43. #define UM_SELTYPE_REMOTEUSER 0x2 | UM_SELTYPE_USER
  44. #define UM_SELTYPE_GROUP 0x20
  45. #define UM_SELTYPE_LOCALGROUP 0x4 | UM_SELTYPE_GROUP
  46. #define UM_SELTYPE_GLOBALGROUP 0x8 | UM_SELTYPE_GROUP
  47. typedef struct _UMS_GETSELA {
  48. DWORD dwRID;
  49. LPSTR pchName;
  50. DWORD dwSelType;
  51. LPSTR pchFullName;
  52. LPSTR pchComment;
  53. } UMS_GETSELA,*PUMS_GETSELA;
  54. typedef struct _UMS_GETSELW {
  55. DWORD dwRID;
  56. LPWSTR pchName;
  57. DWORD dwSelType;
  58. LPWSTR pchFullName;
  59. LPWSTR pchComment;
  60. } UMS_GETSELW,*PUMS_GETSELW;
  61. #define UMS_GETSEL __MINGW_NAME_AW(UMS_GETSEL)
  62. #define PUMS_GETSEL __MINGW_NAME_AW(PUMS_GETSEL)
  63. typedef struct _UMS_GETSELCOUNT {
  64. DWORD dwItems;
  65. } UMS_GETSELCOUNT,*PUMS_GETSELCOUNT;
  66. #define UM_FOCUS_TYPE_DOMAIN 1
  67. #define UM_FOCUS_TYPE_WINNT 2
  68. #define UM_FOCUS_TYPE_LM 3
  69. #define UM_FOCUS_TYPE_UNKNOWN 4
  70. typedef struct _UMS_GETCURFOCUSA {
  71. CHAR szFocus[MAX_PATH];
  72. DWORD dwFocusType;
  73. CHAR szFocusPDC[MAX_PATH];
  74. PVOID psidFocus;
  75. } UMS_GETCURFOCUSA,*PUMS_GETCURFOCUSA;
  76. typedef struct _UMS_GETCURFOCUSW {
  77. WCHAR szFocus[MAX_PATH];
  78. DWORD dwFocusType;
  79. WCHAR szFocusPDC[MAX_PATH];
  80. PVOID psidFocus;
  81. } UMS_GETCURFOCUSW,*PUMS_GETCURFOCUSW;
  82. #define UMS_GETCURFOCUS __MINGW_NAME_AW(UMS_GETCURFOCUS)
  83. #define PUMS_GETCURFOCUS __MINGW_NAME_AW(PUMS_GETCURFOCUS)
  84. typedef struct _UMS_GETOPTIONS {
  85. WINBOOL fSaveSettingsOnExit;
  86. WINBOOL fConfirmation;
  87. WINBOOL fSortByFullName;
  88. } UMS_GETOPTIONS,*PUMS_GETOPTIONS;
  89. typedef struct _UMS_GETOPTIONS2 {
  90. WINBOOL fSaveSettingsOnExit;
  91. WINBOOL fConfirmation;
  92. WINBOOL fSortByFullName;
  93. WINBOOL fMiniUserManager;
  94. WINBOOL fLowSpeedConnection;
  95. } UMS_GETOPTIONS2,*PUMS_GETOPTIONS2;
  96. #define SZ_UME_UNLOADMENU "UMEUnloadMenu"
  97. #define SZ_UME_INITIALIZEMENU "UMEInitializeMenu"
  98. #define SZ_UME_REFRESH "UMERefresh"
  99. #define SZ_UME_MENUACTION "UMEMenuAction"
  100. #define SZ_UME_LOADMENUW "UMELoadMenuW"
  101. #define SZ_UME_GETEXTENDEDERRORSTRINGW "UMEGetExtendedErrorStringW"
  102. #define SZ_UME_CREATEW "UMECreateW"
  103. #define SZ_UME_DELETEW "UMEDeleteW"
  104. #define SZ_UME_RENAMEW "UMERenameW"
  105. #define SZ_UME_LOADMENUA "UMELoadMenuA"
  106. #define SZ_UME_GETEXTENDEDERRORSTRINGA "UMEGetExtendedErrorStringA"
  107. #define SZ_UME_CREATEA "UMECreateA"
  108. #define SZ_UME_DELETEA "UMEDeleteA"
  109. #define SZ_UME_RENAMEA "UMERenameA"
  110. #define SZ_UME_LOADMENU __MINGW_NAME_AW(SZ_UME_LOADMENU)
  111. #define SZ_UME_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(SZ_UME_GETEXTENDEDERRORSTRING)
  112. #define SZ_UME_CREATE __MINGW_NAME_AW(SZ_UME_CREATE)
  113. #define SZ_UME_DELETE __MINGW_NAME_AW(SZ_UME_DELETE)
  114. #define SZ_UME_RENAME __MINGW_NAME_AW(SZ_UME_RENAME)
  115. typedef DWORD (WINAPI *PUMX_LOADMENUW)(HWND hWnd,PUMS_LOADMENUW pumsload);
  116. typedef DWORD (WINAPI *PUMX_LOADMENUA)(HWND hWnd,PUMS_LOADMENUA pumsload);
  117. typedef LPWSTR (WINAPI *PUMX_GETEXTENDEDERRORSTRINGW)(VOID);
  118. typedef LPSTR (WINAPI *PUMX_GETEXTENDEDERRORSTRINGA)(VOID);
  119. typedef VOID (WINAPI *PUMX_UNLOADMENU)(VOID);
  120. typedef VOID (WINAPI *PUMX_INITIALIZEMENU)(VOID);
  121. typedef VOID (WINAPI *PUMX_REFRESH)(HWND hwndParent);
  122. typedef VOID (WINAPI *PUMX_MENUACTION)(HWND hwndParent,DWORD dwEventId);
  123. typedef VOID (WINAPI *PUMX_CREATEW)(HWND hwndParent,PUMS_GETSELW pumsSelection);
  124. typedef VOID (WINAPI *PUMX_CREATEA)(HWND hwndParent,PUMS_GETSELA pumsSelection);
  125. typedef VOID (WINAPI *PUMX_DELETEW)(HWND hwndParent,PUMS_GETSELW pumsSelection);
  126. typedef VOID (WINAPI *PUMX_DELETEA)(HWND hwndParent,PUMS_GETSELA pumsSelection);
  127. typedef VOID (WINAPI *PUMX_RENAMEW)(HWND hwndParent,PUMS_GETSELW pumsSelection,LPWSTR pchNewName);
  128. typedef VOID (WINAPI *PUMX_RENAMEA)(HWND hwndParent,PUMS_GETSELA pumsSelection,LPSTR pchNewName);
  129. #define PUMX_LOADMENU __MINGW_NAME_AW(PUMX_LOADMENU)
  130. #define PUMX_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(PUMX_GETEXTENDEDERRORSTRING)
  131. #define PUMX_CREATE __MINGW_NAME_AW(PUMX_CREATE)
  132. #define PUMX_DELETE __MINGW_NAME_AW(PUMX_DELETE)
  133. #define PUMX_RENAME __MINGW_NAME_AW(PUMX_RENAME)
  134. DWORD WINAPI UMELoadMenuA(HWND hwndMessage,PUMS_LOADMENUA pumsload);
  135. DWORD WINAPI UMELoadMenuW(HWND hwndMessage,PUMS_LOADMENUW pumsload);
  136. LPSTR WINAPI UMEGetExtendedErrorStringA(VOID);
  137. LPWSTR WINAPI UMEGetExtendedErrorStringW(VOID);
  138. VOID WINAPI UMEUnloadMenu(VOID);
  139. VOID WINAPI UMEInitializeMenu(VOID);
  140. VOID WINAPI UMERefresh(HWND hwndParent);
  141. VOID WINAPI UMEMenuAction(HWND hwndParent,DWORD dwEventId);
  142. VOID WINAPI UMECreateA(HWND hwndParent,PUMS_GETSELA pumsSelection);
  143. VOID WINAPI UMECreateW(HWND hwndParent,PUMS_GETSELW pumsSelection);
  144. VOID WINAPI UMEDeleteA(HWND hwndParent,PUMS_GETSELA pumsSelection);
  145. VOID WINAPI UMEDeleteW(HWND hwndParent,PUMS_GETSELW pumsSelection);
  146. VOID WINAPI UMERenameA(HWND hwndParent,PUMS_GETSELA pumsSelection,LPSTR pchNewName);
  147. VOID WINAPI UMERenameW(HWND hwndParent,PUMS_GETSELW pumsSelection,LPWSTR pchNewName);
  148. #endif