1 #ifndef _REGEXP_SECURITY_H
2 #define _REGEXP_SECURITY_H
4 /* FIXME - remove the definition */
6 GetSecurityInfo(HANDLE handle
,
7 SE_OBJECT_TYPE ObjectType
,
8 SECURITY_INFORMATION SecurityInfo
,
13 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
15 DEFINE_GUID(IID_CRegKeySecurity
, 0x965fc360, 0x16ff, 0x11d0, 0x0091, 0xcb,0x00,0xaa,0x00,0xbb,0xb7,0x23);
17 /******************************************************************************
19 ******************************************************************************/
21 typedef struct CRegKeySecurity
*LPREGKEYSECURITY
;
23 typedef struct ifaceCRegKeySecurityVbtl ifaceCRegKeySecurityVbtl
;
24 struct ifaceCRegKeySecurityVbtl
27 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(LPREGKEYSECURITY
this,
30 ULONG (STDMETHODCALLTYPE
*AddRef
)(LPREGKEYSECURITY
this);
31 ULONG (STDMETHODCALLTYPE
*Release
)(LPREGKEYSECURITY
this);
34 HRESULT (STDMETHODCALLTYPE
*GetObjectInformation
)(LPREGKEYSECURITY
this,
35 PSI_OBJECT_INFO pObjectInfo
);
36 HRESULT (STDMETHODCALLTYPE
*GetSecurity
)(LPREGKEYSECURITY
this,
37 SECURITY_INFORMATION RequestedInformation
,
38 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
,
40 HRESULT (STDMETHODCALLTYPE
*SetSecurity
)(LPREGKEYSECURITY
this,
41 SECURITY_INFORMATION RequestedInformation
,
42 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
43 HRESULT (STDMETHODCALLTYPE
*GetAccessRights
)(LPREGKEYSECURITY
this,
44 const GUID
* pguidObjectType
,
48 ULONG
* piDefaultAccess
);
49 HRESULT (STDMETHODCALLTYPE
*MapGeneric
)(LPREGKEYSECURITY
this,
50 const GUID
* pguidObjectType
,
53 HRESULT (STDMETHODCALLTYPE
*GetInheritTypes
)(LPREGKEYSECURITY
this,
54 PSI_INHERIT_TYPE
* ppInheritTypes
,
55 ULONG
* pcInheritTypes
);
56 HRESULT (STDMETHODCALLTYPE
*PropertySheetPageCallback
)(LPREGKEYSECURITY
this,
62 typedef struct CRegKeySecurity
65 ifaceCRegKeySecurityVbtl
* lpVtbl
;
67 /* CRegKeySecurity fields */
69 SE_OBJECT_TYPE ObjectType
;
70 SI_OBJECT_INFO ObjectInfo
;
74 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnQueryInterface(LPREGKEYSECURITY
this,
77 ULONG STDMETHODCALLTYPE
CRegKeySecurity_fnAddRef(LPREGKEYSECURITY
this);
78 ULONG STDMETHODCALLTYPE
CRegKeySecurity_fnRelease(LPREGKEYSECURITY
this);
79 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnGetObjectInformation(LPREGKEYSECURITY
this,
80 PSI_OBJECT_INFO pObjectInfo
);
81 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnGetSecurity(LPREGKEYSECURITY
this,
82 SECURITY_INFORMATION RequestedInformation
,
83 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
,
85 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnSetSecurity(LPREGKEYSECURITY
this,
86 SECURITY_INFORMATION RequestedInformation
,
87 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
88 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnGetAccessRights(LPREGKEYSECURITY
this,
89 const GUID
* pguidObjectType
,
93 ULONG
* piDefaultAccess
);
94 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnMapGeneric(LPREGKEYSECURITY
this,
95 const GUID
* pguidObjectType
,
98 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnGetInheritTypes(LPREGKEYSECURITY
this,
99 PSI_INHERIT_TYPE
* ppInheritTypes
,
100 ULONG
* pcInheritTypes
);
101 HRESULT STDMETHODCALLTYPE
CRegKeySecurity_fnPropertySheetPageCallback(LPREGKEYSECURITY
this,
106 static ifaceCRegKeySecurityVbtl efvt
=
108 /* IUnknown methods */
109 CRegKeySecurity_fnQueryInterface
,
110 CRegKeySecurity_fnAddRef
,
111 CRegKeySecurity_fnRelease
,
113 /* CRegKeySecurity methods */
114 CRegKeySecurity_fnGetObjectInformation
,
115 CRegKeySecurity_fnGetSecurity
,
116 CRegKeySecurity_fnSetSecurity
,
117 CRegKeySecurity_fnGetAccessRights
,
118 CRegKeySecurity_fnMapGeneric
,
119 CRegKeySecurity_fnGetInheritTypes
,
120 CRegKeySecurity_fnPropertySheetPageCallback
123 #endif /* _REGEXP_SECURITY_H */