15 ULONG
DbgPrint(PCH Format
,...);
16 #define DPRINT DbgPrint
19 #define NT_SUCCESS(status) ((LONG)(status) >= 0)
22 #define EnableRedrawWindow(hwnd) \
23 SendMessage((hwnd), WM_SETREDRAW, TRUE, 0)
25 #define DisableRedrawWindow(hwnd) \
26 SendMessage((hwnd), WM_SETREDRAW, FALSE, 0)
28 extern HINSTANCE hDllInstance
;
30 typedef struct _PRINCIPAL_LISTITEM
32 struct _PRINCIPAL_LISTITEM
*Next
;
33 SID_NAME_USE SidNameUse
;
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
;
65 } SECURITY_PAGE
, *PSECURITY_PAGE
;
67 /* MISC ***********************************************************************/
70 OpenLSAPolicyHandle(IN LPWSTR SystemName
,
71 IN ACCESS_MASK DesiredAccess
,
72 OUT PLSA_HANDLE PolicyHandle
);
75 LoadAndFormatString(IN HINSTANCE hInstance
,
81 ListViewGetSelectedItemData(IN HWND hwnd
);
84 ListViewSelectItem(IN HWND hwnd
,
88 InitializeObjectPicker(IN PCWSTR ServerName
,
89 IN PSI_OBJECT_INFO ObjectInfo
,
90 OUT IDsObjectPicker
**pDsObjectPicker
);
93 FreeObjectPicker(IN IDsObjectPicker
*pDsObjectPicker
);
95 typedef BOOL (*POBJPICK_SELECTED_SID
)(IN IDsObjectPicker
*pDsObjectPicker
,
96 IN HWND hwndParent OPTIONAL
,
98 IN PVOID Context OPTIONAL
);
101 InvokeObjectPickerDialog(IN IDsObjectPicker
*pDsObjectPicker
,
102 IN HWND hwndParent OPTIONAL
,
103 IN POBJPICK_SELECTED_SID SelectedSidCallback
,
104 IN PVOID Context OPTIONAL
);
106 /* CHECKLIST CONTROL **********************************************************/
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)
117 #define CLB_ALLOW (0x1)
118 #define CLB_DENY (0x0)
120 #define CIS_MASK (CIS_DISABLED | CIS_ALLOW | CIS_DENY)
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)
134 #define CLN_CHANGINGITEMCHECKBOX (101)
136 typedef struct _NMCHANGEITEMCHECKBOX
143 } NMCHANGEITEMCHECKBOX
, *PNMCHANGEITEMCHECKBOX
;
146 RegisterCheckListControl(HINSTANCE hInstance
);
149 UnregisterCheckListControl(VOID
);