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