ReactOS 0.4.15-dev-7907-g95bf896
aclui.h
Go to the documentation of this file.
1/*
2 * aclui.h
3 *
4 * Access Control List Editor definitions
5 *
6 * THIS SOFTWARE IS NOT COPYRIGHTED
7 *
8 * This source code is offered for use in the public domain. You may
9 * use, modify or distribute it freely.
10 *
11 * This code is distributed in the hope that it will be useful but
12 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
13 * DISCLAIMED. This includes but is not limited to warranties of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 *
16 */
17
18#ifndef __ACLUI_H
19#define __ACLUI_H
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#include <unknwn.h>
26#include <accctrl.h>
27#include <commctrl.h>
28
29DEFINE_GUID(IID_ISecurityInformation, 0x965fc360, 0x16ff, 0x11d0, 0x0091, 0xcb,0x00,0xaa,0x00,0xbb,0xb7,0x23);
30DEFINE_GUID(IID_ISecurityInformation2, 0xc3ccfdb4, 0x6f88, 0x11d2, 0x00a3, 0xce,0x00,0xc0,0x4f,0xb1,0x78,0x2a);
31DEFINE_GUID(IID_IEffectivePermission, 0x3853dc76, 0x9f35, 0x407c, 0x0088, 0xa1,0xd1,0x93,0x44,0x36,0x5f,0xbc);
32DEFINE_GUID(IID_ISecurityObjectTypeInfo, 0xfc3066eb, 0x79ef, 0x444b, 0x0091, 0x11,0xd1,0x8a,0x75,0xeb,0xf2,0xfa);
33
34typedef interface ISecurityInformation *LPSECURITYINFO;
35typedef interface ISecurityInformation2 *LPSECURITYINFO2;
36typedef interface IEffectivePermission *LPEFFECTIVEPERMISSION;
37typedef interface ISecurityObjectTypeInfo *LPSecurityObjectTypeInfo;
38
39#undef INTERFACE
41#define INTERFACE ISecurityInformation
42DECLARE_INTERFACE_(ISecurityInformation,IUnknown)
43{
44 /* IUnknown */
48
49 /* ISecurityInformation */
50 STDMETHOD(GetObjectInformation)(THIS_ PSI_OBJECT_INFO) PURE;
53 STDMETHOD(GetAccessRights)(THIS_ GUID*,DWORD,PSI_ACCESS*,ULONG*,ULONG*) PURE;
54 STDMETHOD(MapGeneric)(THIS_ GUID*,UCHAR*,PSI_ACCESS*) PURE;
55 STDMETHOD(GetInheritTypes)(THIS_ PSI_INHERIT_TYPE*,ULONG*) PURE;
56 STDMETHOD(PropertySheetPageCallback)(THIS_ HWND,UINT,SI_PAGE_TYPE) PURE;
57};
58#undef INTERFACE
59
60#undef INTERFACE
61#define INTERFACE ISecurityInformation2
62DECLARE_INTERFACE_(ISecurityInformation2,IUnknown)
63{
64 /* IUnknown */
68
69 /* ISecurityInformation2 */
70 STDMETHOD(IsDaclCanonical)(THIS_ PACL) PURE;
72};
73#undef INTERFACE
74
75#undef INTERFACE
76#define INTERFACE IEffectivePermission
77DECLARE_INTERFACE_(IEffectivePermission,IUnknown)
78{
79 /* IUnknown */
83
84 /* IEffectivePermission */
86};
87#undef INTERFACE
88
89#undef INTERFACE
90#define INTERFACE ISecurityObjectTypeInfo
91DECLARE_INTERFACE_(ISecurityObjectTypeInfo,IUnknown)
92{
93 /* IUnknown */
97
98 /* ISecurityObjectTypeInfo */
99 STDMETHOD(GetInheritSource)(THIS_ SECURITY_INFORMATION,PACL,PINHERITED_FROM*) PURE;
100};
101#undef INTERFACE
102
105
108
109#ifdef __cplusplus
110}
111#endif
112#endif /* __ACLUI_H */
113
114/* EOF */
struct _SI_OBJECT_INFO * PSI_OBJECT_INFO
enum _SI_PAGE_TYPE SI_PAGE_TYPE
HPROPSHEETPAGE WINAPI CreateSecurityPage(LPSECURITYINFO psi)
BOOL WINAPI EditSecurity(HWND hwndOwner, LPSECURITYINFO psi)
interface IEffectivePermission * LPEFFECTIVEPERMISSION
Definition: aclui.h:36
interface ISecurityInformation2 * LPSECURITYINFO2
Definition: aclui.h:35
EXTERN_C const IID IID_ISecurityInformation
Definition: aclui.h:40
interface ISecurityObjectTypeInfo * LPSecurityObjectTypeInfo
Definition: aclui.h:37
interface ISecurityInformation * LPSECURITYINFO
Definition: aclui.h:34
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define EXTERN_C
Definition: basetyps.h:12
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
HANDLE HWND
Definition: compat.h:19
unsigned int BOOL
Definition: ntddk_ex.h:94
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
struct _SID * PSID
Definition: eventlog.c:35
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
struct _SECURITY_DESCRIPTOR * PSECURITY_DESCRIPTOR
Definition: security.c:98
struct _ACL * PACL
Definition: security.c:105
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
unsigned int UINT
Definition: ndis.h:50
#define BOOL
Definition: nt_native.h:43
ACCESS_MASK * PACCESS_MASK
Definition: nt_native.h:41
#define DWORD
Definition: nt_native.h:44
interface IDataObject * LPDATAOBJECT
Definition: objfwd.h:21
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define REFIID
Definition: guiddef.h:118
uint32_t ULONG
Definition: typedefs.h:59
#define WINAPI
Definition: msvc.h:6
unsigned char UCHAR
Definition: xmlstorage.h:181
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185