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