ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

aclui.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.