Process Hacker
seceditp.h
Go to the documentation of this file.
1 #ifndef _PH_SECEDITP_H
2 #define _PH_SECEDITP_H
3 
4 #include <aclui.h>
5 #include <aclapi.h>
6 
7 typedef struct
8 {
9  ISecurityInformationVtbl *VTable;
10 
11  ULONG RefCount;
12 
16  PVOID Context;
17  PSI_ACCESS AccessEntries;
20 
21 ISecurityInformation *PhSecurityInformation_Create(
22  _In_ PWSTR ObjectName,
23  _In_ PPH_GET_OBJECT_SECURITY GetObjectSecurity,
24  _In_ PPH_SET_OBJECT_SECURITY SetObjectSecurity,
25  _In_opt_ PVOID Context,
26  _In_ PPH_ACCESS_ENTRY AccessEntries,
27  _In_ ULONG NumberOfAccessEntries
28  );
29 
30 HRESULT STDMETHODCALLTYPE PhSecurityInformation_QueryInterface(
31  _In_ ISecurityInformation *This,
32  _In_ REFIID Riid,
33  _Out_ PVOID *Object
34  );
35 
36 ULONG STDMETHODCALLTYPE PhSecurityInformation_AddRef(
37  _In_ ISecurityInformation *This
38  );
39 
40 ULONG STDMETHODCALLTYPE PhSecurityInformation_Release(
41  _In_ ISecurityInformation *This
42  );
43 
44 HRESULT STDMETHODCALLTYPE PhSecurityInformation_GetObjectInformation(
45  _In_ ISecurityInformation *This,
46  _Out_ PSI_OBJECT_INFO ObjectInfo
47  );
48 
49 HRESULT STDMETHODCALLTYPE PhSecurityInformation_GetSecurity(
50  _In_ ISecurityInformation *This,
51  _In_ SECURITY_INFORMATION RequestedInformation,
52  _Out_ PSECURITY_DESCRIPTOR *SecurityDescriptor,
53  _In_ BOOL Default
54  );
55 
56 HRESULT STDMETHODCALLTYPE PhSecurityInformation_SetSecurity(
57  _In_ ISecurityInformation *This,
58  _In_ SECURITY_INFORMATION SecurityInformation,
59  _In_ PSECURITY_DESCRIPTOR SecurityDescriptor
60  );
61 
62 HRESULT STDMETHODCALLTYPE PhSecurityInformation_GetAccessRights(
63  _In_ ISecurityInformation *This,
64  _In_ const GUID *ObjectType,
65  _In_ ULONG Flags,
66  _Out_ PSI_ACCESS *Access,
67  _Out_ PULONG Accesses,
68  _Out_ PULONG DefaultAccess
69  );
70 
71 HRESULT STDMETHODCALLTYPE PhSecurityInformation_MapGeneric(
72  _In_ ISecurityInformation *This,
73  _In_ const GUID *ObjectType,
74  _In_ PUCHAR AceFlags,
75  _Inout_ PACCESS_MASK Mask
76  );
77 
78 HRESULT STDMETHODCALLTYPE PhSecurityInformation_GetInheritTypes(
79  _In_ ISecurityInformation *This,
80  _Out_ PSI_INHERIT_TYPE *InheritTypes,
81  _Out_ PULONG InheritTypesCount
82  );
83 
84 HRESULT STDMETHODCALLTYPE PhSecurityInformation_PropertySheetPageCallback(
85  _In_ ISecurityInformation *This,
86  _In_ HWND hwnd,
87  _In_ UINT uMsg,
88  _In_ SI_PAGE_TYPE uPage
89  );
90 
91 typedef HPROPSHEETPAGE (WINAPI *_CreateSecurityPage)(
92  _In_ LPSECURITYINFO psi
93  );
94 
95 typedef BOOL (WINAPI *_EditSecurity)(
96  _In_ HWND hwndOwner,
97  _In_ LPSECURITYINFO psi
98  );
99 
100 #endif