16 ULONG
DbgPrint(PCH Format
,...);
17 #define DPRINT DbgPrint
20 #define NT_SUCCESS(status) ((LONG)(status) >= 0)
23 #define EnableRedrawWindow(hwnd) \
24 SendMessage((hwnd), WM_SETREDRAW, TRUE, 0)
26 #define DisableRedrawWindow(hwnd) \
27 SendMessage((hwnd), WM_SETREDRAW, FALSE, 0)
29 extern HINSTANCE hDllInstance
;
31 typedef struct _ACE_ENTRY
33 struct _ACE_ENTRY
*Next
;
34 } ACE_ENTRY
, *PACE_ENTRY
;
36 typedef struct _PRINCIPAL_LISTITEM
38 struct _PRINCIPAL_LISTITEM
*Next
;
40 SID_NAME_USE SidNameUse
;
44 } PRINCIPAL_LISTITEM
, *PPRINCIPAL_LISTITEM
;
46 typedef struct _SECURITY_PAGE
53 HWND hPermissionsForLabel
;
55 /* Main Principals List */
56 HWND hWndPrincipalsList
;
57 PPRINCIPAL_LISTITEM PrincipalsListHead
;
61 INT SpecialPermCheckIndex
;
63 HIMAGELIST hiPrincipals
;
66 SI_OBJECT_INFO ObjectInfo
;
67 IDsObjectPicker
*pDsObjectPicker
;
69 SI_ACCESS DefaultAccess
;
72 } SECURITY_PAGE
, *PSECURITY_PAGE
;
74 /* MISC ***********************************************************************/
77 OpenLSAPolicyHandle(IN LPWSTR SystemName
,
78 IN ACCESS_MASK DesiredAccess
,
79 OUT PLSA_HANDLE PolicyHandle
);
82 LoadAndFormatString(IN HINSTANCE hInstance
,
88 ListViewGetSelectedItemData(IN HWND hwnd
);
91 ListViewSelectItem(IN HWND hwnd
,
95 InitializeObjectPicker(IN PCWSTR ServerName
,
96 IN PSI_OBJECT_INFO ObjectInfo
,
97 OUT IDsObjectPicker
**pDsObjectPicker
);
100 FreeObjectPicker(IN IDsObjectPicker
*pDsObjectPicker
);
102 typedef BOOL (*POBJPICK_SELECTED_SID
)(IN IDsObjectPicker
*pDsObjectPicker
,
103 IN HWND hwndParent OPTIONAL
,
105 IN PVOID Context OPTIONAL
);
108 InvokeObjectPickerDialog(IN IDsObjectPicker
*pDsObjectPicker
,
109 IN HWND hwndParent OPTIONAL
,
110 IN POBJPICK_SELECTED_SID SelectedSidCallback
,
111 IN PVOID Context OPTIONAL
);
113 /* CHECKLIST CONTROL **********************************************************/
115 #define CIS_DENYDISABLED (0x8)
116 #define CIS_DENYENABLED (0x0)
117 #define CIS_ALLOWDISABLED (0x4)
118 #define CIS_ALLOWENABLED (0x0)
119 #define CIS_ALLOW (0x2)
120 #define CIS_DENY (0x1)
121 #define CIS_NONE (0x0)
122 #define CIS_DISABLED (CIS_ALLOWDISABLED | CIS_DENYDISABLED)
124 #define CLB_ALLOW (0x1)
125 #define CLB_DENY (0x0)
127 #define CIS_MASK (CIS_DISABLED | CIS_ALLOW | CIS_DENY)
129 #define CLM_ADDITEM (WM_USER + 1)
130 #define CLM_DELITEM (WM_USER + 2)
131 #define CLM_GETITEMCOUNT (WM_USER + 3)
132 #define CLM_CLEAR (WM_USER + 4)
133 #define CLM_SETCHECKBOXCOLUMN (WM_USER + 5)
134 #define CLM_GETCHECKBOXCOLUMN (WM_USER + 6)
135 #define CLM_CLEARCHECKBOXES (WM_USER + 7)
136 #define CLM_SETITEMSTATE (WM_USER + 8)
137 #define CLM_ENABLEQUICKSEARCH (WM_USER + 9)
138 #define CLM_SETQUICKSEARCH_TIMEOUT_RESET (WM_USER + 10)
139 #define CLM_SETQUICKSEARCH_TIMEOUT_SETFOCUS (WM_USER + 11)
140 #define CLM_FINDITEMBYACCESSMASK (WM_USER + 12)
142 #define CLN_CHANGINGITEMCHECKBOX (101)
144 typedef struct _NMCHANGEITEMCHECKBOX
151 } NMCHANGEITEMCHECKBOX
, *PNMCHANGEITEMCHECKBOX
;
154 RegisterCheckListControl(HINSTANCE hInstance
);
157 UnregisterCheckListControl(VOID
);
159 /* DLLMAIN ********************************************************************/
163 DllMain(IN HINSTANCE hinstDLL
,
165 IN LPVOID lpvReserved
);