1 #define WIN32_NO_STATUS
13 #ifdef SUPPORT_UXTHEME
19 #define EnableRedrawWindow(hwnd) \
20 SendMessage((hwnd), WM_SETREDRAW, TRUE, 0)
22 #define DisableRedrawWindow(hwnd) \
23 SendMessage((hwnd), WM_SETREDRAW, FALSE, 0)
25 extern HINSTANCE hDllInstance
;
27 typedef struct _ACE_ENTRY
29 struct _ACE_ENTRY
*Next
;
30 } ACE_ENTRY
, *PACE_ENTRY
;
32 typedef struct _PRINCIPAL_LISTITEM
34 struct _PRINCIPAL_LISTITEM
*Next
;
35 struct _SIDREQRESULT
*SidReqResult
;
38 } PRINCIPAL_LISTITEM
, *PPRINCIPAL_LISTITEM
;
40 typedef struct _SECURITY_PAGE
47 HWND hPermissionsForLabel
;
49 /* Main Principals List */
50 HWND hWndPrincipalsList
;
51 PPRINCIPAL_LISTITEM PrincipalsListHead
;
58 INT SpecialPermCheckIndex
;
60 HIMAGELIST hiPrincipals
;
63 SI_OBJECT_INFO ObjectInfo
;
64 IDsObjectPicker
*pDsObjectPicker
;
66 SI_ACCESS DefaultAccess
;
69 LONG SidLookupsPending
;
70 UINT Initializing
: 1;
73 } SECURITY_PAGE
, *PSECURITY_PAGE
;
75 /* MISC ***********************************************************************/
78 LoadAndFormatString(IN HINSTANCE hInstance
,
84 ListViewGetSelectedItemData(IN HWND hwnd
);
87 ListViewSelectItem(IN HWND hwnd
,
91 InitializeObjectPicker(IN PCWSTR ServerName
,
92 IN PSI_OBJECT_INFO ObjectInfo
,
93 OUT IDsObjectPicker
**pDsObjectPicker
);
96 FreeObjectPicker(IN IDsObjectPicker
*pDsObjectPicker
);
98 typedef BOOL (*POBJPICK_SELECTED_SID
)(IN IDsObjectPicker
*pDsObjectPicker
,
99 IN HWND hwndParent OPTIONAL
,
101 IN PVOID Context OPTIONAL
);
104 InvokeObjectPickerDialog(IN IDsObjectPicker
*pDsObjectPicker
,
105 IN HWND hwndParent OPTIONAL
,
106 IN POBJPICK_SELECTED_SID SelectedSidCallback
,
107 IN PVOID Context OPTIONAL
);
109 /* CHECKLIST CONTROL **********************************************************/
111 #define CIS_DENYDISABLED (0x8)
112 #define CIS_DENYENABLED (0x0)
113 #define CIS_ALLOWDISABLED (0x4)
114 #define CIS_ALLOWENABLED (0x0)
115 #define CIS_ALLOW (0x2)
116 #define CIS_DENY (0x1)
117 #define CIS_NONE (0x0)
118 #define CIS_DISABLED (CIS_ALLOWDISABLED | CIS_DENYDISABLED)
120 #define CLB_ALLOW (0x1)
121 #define CLB_DENY (0x0)
123 #define CIS_MASK (CIS_DISABLED | CIS_ALLOW | CIS_DENY)
125 #define CLM_ADDITEM (WM_USER + 1)
126 #define CLM_DELITEM (WM_USER + 2)
127 #define CLM_GETITEMCOUNT (WM_USER + 3)
128 #define CLM_CLEAR (WM_USER + 4)
129 #define CLM_SETCHECKBOXCOLUMN (WM_USER + 5)
130 #define CLM_GETCHECKBOXCOLUMN (WM_USER + 6)
131 #define CLM_CLEARCHECKBOXES (WM_USER + 7)
132 #define CLM_SETITEMSTATE (WM_USER + 8)
133 #define CLM_ENABLEQUICKSEARCH (WM_USER + 9)
134 #define CLM_SETQUICKSEARCH_TIMEOUT_RESET (WM_USER + 10)
135 #define CLM_SETQUICKSEARCH_TIMEOUT_SETFOCUS (WM_USER + 11)
136 #define CLM_FINDITEMBYACCESSMASK (WM_USER + 12)
138 #define CLN_CHANGINGITEMCHECKBOX (101)
140 typedef struct _NMCHANGEITEMCHECKBOX
147 } NMCHANGEITEMCHECKBOX
, *PNMCHANGEITEMCHECKBOX
;
150 RegisterCheckListControl(HINSTANCE hInstance
);
153 UnregisterCheckListControl(HINSTANCE hInstance
);
155 /* DLLMAIN ********************************************************************/
159 DllMain(IN HINSTANCE hinstDLL
,
161 IN LPVOID lpvReserved
);
163 /* SIDCACHE *******************************************************************/
165 typedef struct _SIDREQRESULT
168 SID_NAME_USE SidNameUse
;
171 } SIDREQRESULT
, *PSIDREQRESULT
;
173 typedef VOID (*PSIDREQCOMPLETIONPROC
)(IN HANDLE SidCacheMgr
,
175 IN PSIDREQRESULT SidRequestResult
,
179 CreateSidCacheMgr(IN HANDLE Heap
,
180 IN LPCWSTR SystemName
);
183 DestroySidCacheMgr(IN HANDLE SidCacheMgr
);
186 DequeueSidLookup(IN HANDLE SidCacheMgr
,
190 LookupSidCache(IN HANDLE SidCacheMgr
,
192 IN PSIDREQCOMPLETIONPROC CompletionProc
,
196 ReferenceSidReqResult(IN HANDLE SidCacheMgr
,
197 IN PSIDREQRESULT ReqResult
);
200 DereferenceSidReqResult(IN HANDLE SidCacheMgr
,
201 IN PSIDREQRESULT ReqResult
);