#include "acluilib.h" -> #include <precomp.h>
[reactos.git] / reactos / lib / aclui / precomp.h
1 #include <windows.h>
2 #include <commctrl.h>
3 #include <objsel.h>
4 #include <prsht.h>
5 #include <aclui.h>
6 #include <sddl.h>
7 #include <ntsecapi.h>
8 #if SUPPORT_UXTHEME
9 #include <uxtheme.h>
10 #include <tmschema.h>
11 #endif
12 #include "resource.h"
13
14 ULONG DbgPrint(PCH Format,...);
15 #define DPRINT DbgPrint
16
17 #ifndef NT_SUCCESS
18 #define NT_SUCCESS(status) ((LONG)(status) >= 0)
19 #endif
20
21 #define EnableRedrawWindow(hwnd) \
22 SendMessage((hwnd), WM_SETREDRAW, TRUE, 0)
23
24 #define DisableRedrawWindow(hwnd) \
25 SendMessage((hwnd), WM_SETREDRAW, FALSE, 0)
26
27 extern HINSTANCE hDllInstance;
28
29 typedef struct _ACE_LISTITEM
30 {
31 struct _ACE_LISTITEM *Next;
32 SID_NAME_USE SidNameUse;
33 WCHAR *DisplayString;
34 WCHAR *AccountName;
35 WCHAR *DomainName;
36 } ACE_LISTITEM, *PACE_LISTITEM;
37
38 typedef struct _SECURITY_PAGE
39 {
40 HWND hWnd;
41 HWND hBtnRemove;
42 HWND hBtnAdvanced;
43 HWND hAceCheckList;
44 HWND hPermissionsForLabel;
45
46 /* Main ACE List */
47 HWND hWndAceList;
48 PACE_LISTITEM AceListHead;
49
50 INT SpecialPermCheckIndex;
51
52 HIMAGELIST hiUsrs;
53
54 LPSECURITYINFO psi;
55 SI_OBJECT_INFO ObjectInfo;
56
57 SI_ACCESS DefaultAccess;
58
59 LPWSTR ServerName;
60 } SECURITY_PAGE, *PSECURITY_PAGE;
61
62 /* MISC ***********************************************************************/
63
64 BOOL
65 OpenLSAPolicyHandle(IN LPWSTR SystemName,
66 IN ACCESS_MASK DesiredAccess,
67 OUT PLSA_HANDLE PolicyHandle);
68
69 DWORD
70 LoadAndFormatString(IN HINSTANCE hInstance,
71 IN UINT uID,
72 OUT LPWSTR *lpTarget,
73 ...);
74
75 LPARAM
76 ListViewGetSelectedItemData(IN HWND hwnd);
77
78 BOOL
79 ListViewSelectItem(IN HWND hwnd,
80 IN INT Index);
81
82 /* CHECKLIST CONTROL **********************************************************/
83
84 #define CIS_DENYDISABLED (0x8)
85 #define CIS_DENYENABLED (0x0)
86 #define CIS_ALLOWDISABLED (0x4)
87 #define CIS_ALLOWENABLED (0x0)
88 #define CIS_ALLOW (0x2)
89 #define CIS_DENY (0x1)
90 #define CIS_NONE (0x0)
91 #define CIS_DISABLED (CIS_ALLOWDISABLED | CIS_DENYDISABLED)
92
93 #define CLB_ALLOW (0x1)
94 #define CLB_DENY (0x0)
95
96 #define CIS_MASK (CIS_DISABLED | CIS_ALLOW | CIS_DENY)
97
98 #define CLM_ADDITEM (WM_USER + 1)
99 #define CLM_DELITEM (WM_USER + 2)
100 #define CLM_GETITEMCOUNT (WM_USER + 3)
101 #define CLM_CLEAR (WM_USER + 4)
102 #define CLM_SETCHECKBOXCOLUMN (WM_USER + 5)
103 #define CLM_GETCHECKBOXCOLUMN (WM_USER + 6)
104 #define CLM_CLEARCHECKBOXES (WM_USER + 7)
105 #define CLM_SETITEMSTATE (WM_USER + 8)
106 #define CLM_ENABLEQUICKSEARCH (WM_USER + 9)
107 #define CLM_SETQUICKSEARCH_TIMEOUT_RESET (WM_USER + 10)
108 #define CLM_SETQUICKSEARCH_TIMEOUT_SETFOCUS (WM_USER + 11)
109
110 #define CLN_CHANGINGITEMCHECKBOX (101)
111
112 typedef struct _NMCHANGEITEMCHECKBOX
113 {
114 NMHDR nmhdr;
115 DWORD OldState;
116 DWORD NewState;
117 DWORD CheckBox;
118 BOOL Checked;
119 } NMCHANGEITEMCHECKBOX, *PNMCHANGEITEMCHECKBOX;
120
121 BOOL
122 RegisterCheckListControl(HINSTANCE hInstance);
123
124 VOID
125 UnregisterCheckListControl(VOID);
126
127 /* EOF */