1 #define WIN32_NO_STATUS
18 #define EnableRedrawWindow(hwnd) \
19 SendMessage((hwnd), WM_SETREDRAW, TRUE, 0)
21 #define DisableRedrawWindow(hwnd) \
22 SendMessage((hwnd), WM_SETREDRAW, FALSE, 0)
24 extern HINSTANCE hDllInstance
;
26 typedef struct _ACE_ENTRY
28 struct _ACE_ENTRY
*Next
;
29 } ACE_ENTRY
, *PACE_ENTRY
;
31 typedef struct _PRINCIPAL_LISTITEM
33 struct _PRINCIPAL_LISTITEM
*Next
;
34 struct _SIDREQRESULT
*SidReqResult
;
37 } PRINCIPAL_LISTITEM
, *PPRINCIPAL_LISTITEM
;
39 typedef struct _SECURITY_PAGE
46 HWND hPermissionsForLabel
;
48 /* Main Principals List */
49 HWND hWndPrincipalsList
;
50 PPRINCIPAL_LISTITEM PrincipalsListHead
;
54 INT SpecialPermCheckIndex
;
56 HIMAGELIST hiPrincipals
;
59 SI_OBJECT_INFO ObjectInfo
;
60 IDsObjectPicker
*pDsObjectPicker
;
62 SI_ACCESS DefaultAccess
;
66 } SECURITY_PAGE
, *PSECURITY_PAGE
;
68 /* MISC ***********************************************************************/
71 LoadAndFormatString(IN HINSTANCE hInstance
,
77 ListViewGetSelectedItemData(IN HWND hwnd
);
80 ListViewSelectItem(IN HWND hwnd
,
84 InitializeObjectPicker(IN PCWSTR ServerName
,
85 IN PSI_OBJECT_INFO ObjectInfo
,
86 OUT IDsObjectPicker
**pDsObjectPicker
);
89 FreeObjectPicker(IN IDsObjectPicker
*pDsObjectPicker
);
91 typedef BOOL (*POBJPICK_SELECTED_SID
)(IN IDsObjectPicker
*pDsObjectPicker
,
92 IN HWND hwndParent OPTIONAL
,
94 IN PVOID Context OPTIONAL
);
97 InvokeObjectPickerDialog(IN IDsObjectPicker
*pDsObjectPicker
,
98 IN HWND hwndParent OPTIONAL
,
99 IN POBJPICK_SELECTED_SID SelectedSidCallback
,
100 IN PVOID Context OPTIONAL
);
102 /* CHECKLIST CONTROL **********************************************************/
104 #define CIS_DENYDISABLED (0x8)
105 #define CIS_DENYENABLED (0x0)
106 #define CIS_ALLOWDISABLED (0x4)
107 #define CIS_ALLOWENABLED (0x0)
108 #define CIS_ALLOW (0x2)
109 #define CIS_DENY (0x1)
110 #define CIS_NONE (0x0)
111 #define CIS_DISABLED (CIS_ALLOWDISABLED | CIS_DENYDISABLED)
113 #define CLB_ALLOW (0x1)
114 #define CLB_DENY (0x0)
116 #define CIS_MASK (CIS_DISABLED | CIS_ALLOW | CIS_DENY)
118 #define CLM_ADDITEM (WM_USER + 1)
119 #define CLM_DELITEM (WM_USER + 2)
120 #define CLM_GETITEMCOUNT (WM_USER + 3)
121 #define CLM_CLEAR (WM_USER + 4)
122 #define CLM_SETCHECKBOXCOLUMN (WM_USER + 5)
123 #define CLM_GETCHECKBOXCOLUMN (WM_USER + 6)
124 #define CLM_CLEARCHECKBOXES (WM_USER + 7)
125 #define CLM_SETITEMSTATE (WM_USER + 8)
126 #define CLM_ENABLEQUICKSEARCH (WM_USER + 9)
127 #define CLM_SETQUICKSEARCH_TIMEOUT_RESET (WM_USER + 10)
128 #define CLM_SETQUICKSEARCH_TIMEOUT_SETFOCUS (WM_USER + 11)
129 #define CLM_FINDITEMBYACCESSMASK (WM_USER + 12)
131 #define CLN_CHANGINGITEMCHECKBOX (101)
133 typedef struct _NMCHANGEITEMCHECKBOX
140 } NMCHANGEITEMCHECKBOX
, *PNMCHANGEITEMCHECKBOX
;
143 RegisterCheckListControl(HINSTANCE hInstance
);
146 UnregisterCheckListControl(VOID
);
148 /* DLLMAIN ********************************************************************/
152 DllMain(IN HINSTANCE hinstDLL
,
154 IN LPVOID lpvReserved
);
156 /* SIDCACHE *******************************************************************/
158 typedef struct _SIDREQRESULT
161 SID_NAME_USE SidNameUse
;
164 } SIDREQRESULT
, *PSIDREQRESULT
;
166 typedef VOID (*PSIDREQCOMPLETIONPROC
)(IN HANDLE SidCacheMgr
,
168 IN PSIDREQRESULT SidRequestResult
,
172 CreateSidCacheMgr(IN HANDLE Heap
,
173 IN LPCWSTR SystemName
);
176 DestroySidCacheMgr(IN HANDLE SidCacheMgr
);
179 DequeueSidLookup(IN HANDLE SidCacheMgr
,
183 LookupSidCache(IN HANDLE SidCacheMgr
,
185 IN PSIDREQCOMPLETIONPROC CompletionProc
,
189 ReferenceSidReqResult(IN HANDLE SidCacheMgr
,
190 IN PSIDREQRESULT ReqResult
);
193 DereferenceSidReqResult(IN HANDLE SidCacheMgr
,
194 IN PSIDREQRESULT ReqResult
);