Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenaclui.h
Go to the documentation of this file.
00001 /* 00002 * aclui.h 00003 * 00004 * Access Control List Editor definitions 00005 * 00006 * THIS SOFTWARE IS NOT COPYRIGHTED 00007 * 00008 * This source code is offered for use in the public domain. You may 00009 * use, modify or distribute it freely. 00010 * 00011 * This code is distributed in the hope that it will be useful but 00012 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00013 * DISCLAIMED. This includes but is not limited to warranties of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00015 * 00016 */ 00017 00018 #ifndef __ACLUI_H 00019 #define __ACLUI_H 00020 00021 #ifdef __cplusplus 00022 extern "C" { 00023 #endif 00024 00025 #include <unknwn.h> 00026 #include <accctrl.h> 00027 #include <commctrl.h> 00028 00029 DEFINE_GUID(IID_ISecurityInformation, 0x965fc360, 0x16ff, 0x11d0, 0x0091, 0xcb,0x00,0xaa,0x00,0xbb,0xb7,0x23); 00030 DEFINE_GUID(IID_ISecurityInformation2, 0xc3ccfdb4, 0x6f88, 0x11d2, 0x00a3, 0xce,0x00,0xc0,0x4f,0xb1,0x78,0x2a); 00031 DEFINE_GUID(IID_IEffectivePermission, 0x3853dc76, 0x9f35, 0x407c, 0x0088, 0xa1,0xd1,0x93,0x44,0x36,0x5f,0xbc); 00032 DEFINE_GUID(IID_ISecurityObjectTypeInfo, 0xfc3066eb, 0x79ef, 0x444b, 0x0091, 0x11,0xd1,0x8a,0x75,0xeb,0xf2,0xfa); 00033 00034 typedef interface ISecurityInformation *LPSECURITYINFO; 00035 typedef interface ISecurityInformation2 *LPSECURITYINFO2; 00036 typedef interface IEffectivePermission *LPEFFECTIVEPERMISSION; 00037 typedef interface ISecurityObjectTypeInfo *LPSecurityObjectTypeInfo; 00038 00039 #undef INTERFACE 00040 EXTERN_C const IID IID_ISecurityInformation; 00041 #define INTERFACE ISecurityInformation 00042 DECLARE_INTERFACE_(ISecurityInformation,IUnknown) 00043 { 00044 /* IUnknown */ 00045 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; 00046 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00047 STDMETHOD_(ULONG,Release)(THIS) PURE; 00048 00049 /* ISecurityInformation */ 00050 STDMETHOD(GetObjectInformation)(THIS_ PSI_OBJECT_INFO) PURE; 00051 STDMETHOD(GetSecurity)(THIS_ SECURITY_INFORMATION,PSECURITY_DESCRIPTOR*,BOOL) PURE; 00052 STDMETHOD(SetSecurity)(THIS_ SECURITY_INFORMATION,PSECURITY_DESCRIPTOR) PURE; 00053 STDMETHOD(GetAccessRights)(THIS_ GUID*,DWORD,PSI_ACCESS*,ULONG*,ULONG*) PURE; 00054 STDMETHOD(MapGeneric)(THIS_ GUID*,UCHAR*,PSI_ACCESS*) PURE; 00055 STDMETHOD(GetInheritTypes)(THIS_ PSI_INHERIT_TYPE*,ULONG*) PURE; 00056 STDMETHOD(PropertySheetPageCallback)(THIS_ HWND,UINT,SI_PAGE_TYPE) PURE; 00057 }; 00058 #undef INTERFACE 00059 00060 #undef INTERFACE 00061 #define INTERFACE ISecurityInformation2 00062 DECLARE_INTERFACE_(ISecurityInformation2,IUnknown) 00063 { 00064 /* IUnknown */ 00065 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; 00066 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00067 STDMETHOD_(ULONG,Release)(THIS) PURE; 00068 00069 /* ISecurityInformation2 */ 00070 STDMETHOD(IsDaclCanonical)(THIS_ PACL) PURE; 00071 STDMETHOD(LookupSids)(THIS_ ULONG,PSID*,LPDATAOBJECT*) PURE; 00072 }; 00073 #undef INTERFACE 00074 00075 #undef INTERFACE 00076 #define INTERFACE IEffectivePermission 00077 DECLARE_INTERFACE_(IEffectivePermission,IUnknown) 00078 { 00079 /* IUnknown */ 00080 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; 00081 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00082 STDMETHOD_(ULONG,Release)(THIS) PURE; 00083 00084 /* IEffectivePermission */ 00085 STDMETHOD(GetEffectivePermission)(THIS_ GUID*,PSID,LPCWSTR,PSECURITY_DESCRIPTOR,POBJECT_TYPE_LIST*,ULONG*,PACCESS_MASK*,ULONG*) PURE; 00086 }; 00087 #undef INTERFACE 00088 00089 #undef INTERFACE 00090 #define INTERFACE ISecurityObjectTypeInfo 00091 DECLARE_INTERFACE_(ISecurityObjectTypeInfo,IUnknown) 00092 { 00093 /* IUnknown */ 00094 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; 00095 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00096 STDMETHOD_(ULONG,Release)(THIS) PURE; 00097 00098 /* ISecurityObjectTypeInfo */ 00099 STDMETHOD(GetInheritSource)(THIS_ SECURITY_INFORMATION,PACL,PINHERITED_FROM*) PURE; 00100 }; 00101 #undef INTERFACE 00102 00103 HPROPSHEETPAGE WINAPI 00104 CreateSecurityPage(LPSECURITYINFO psi); 00105 00106 BOOL WINAPI 00107 EditSecurity(HWND hwndOwner, LPSECURITYINFO psi); 00108 00109 #ifdef __cplusplus 00110 } 00111 #endif 00112 #endif /* __ACLUI_H */ 00113 00114 /* EOF */ Generated on Fri May 25 2012 04:29:41 for ReactOS by
1.7.6.1
|