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 176