1 | #ifndef _ACLAPI_H
|
---|
2 | #define _ACLAPI_H
|
---|
3 | #if __GNUC__ >= 3
|
---|
4 | #pragma GCC system_header
|
---|
5 | #endif
|
---|
6 |
|
---|
7 | #include <windows.h>
|
---|
8 | #include <accctrl.h>
|
---|
9 |
|
---|
10 | #ifdef __cplusplus
|
---|
11 | extern "C" {
|
---|
12 | #endif
|
---|
13 |
|
---|
14 | WINADVAPI VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
|
---|
15 | WINADVAPI VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
|
---|
16 | WINADVAPI DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
|
---|
17 | ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
|
---|
18 | WINADVAPI DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W,
|
---|
19 | ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
|
---|
20 | WINADVAPI VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR);
|
---|
21 | WINADVAPI VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR);
|
---|
22 | WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE,
|
---|
23 | LPSTR,LPSTR,LPSTR);
|
---|
24 | WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE,
|
---|
25 | LPWSTR,LPWSTR,LPWSTR);
|
---|
26 | WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID);
|
---|
27 | WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID);
|
---|
28 | WINADVAPI VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID);
|
---|
29 | WINADVAPI VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID);
|
---|
30 | WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK);
|
---|
31 | WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK);
|
---|
32 | WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
|
---|
33 | WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
|
---|
34 | WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
|
---|
35 | WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
|
---|
36 | #if (_WIN32_WINNT >= 0x0501)
|
---|
37 | WINADVAPI DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
|
---|
38 | WINADVAPI DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
|
---|
39 | #endif
|
---|
40 | WINADVAPI DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
|
---|
41 | PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
|
---|
42 | WINADVAPI DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
|
---|
43 | PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
|
---|
44 | WINADVAPI DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,
|
---|
45 | PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
|
---|
46 | WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A);
|
---|
47 | WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W);
|
---|
48 | WINADVAPI LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A);
|
---|
49 | WINADVAPI LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W);
|
---|
50 | WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A);
|
---|
51 | WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W);
|
---|
52 | WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*,
|
---|
53 | PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR);
|
---|
54 | WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*,
|
---|
55 | PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR);
|
---|
56 | WINADVAPI DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*);
|
---|
57 | WINADVAPI DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*);
|
---|
58 | WINADVAPI DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
|
---|
59 | WINADVAPI DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
|
---|
60 | WINADVAPI DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
|
---|
61 | WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,PTRUSTEE_A,DWORD,ACCESS_MODE,DWORD);
|
---|
62 | WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,PTRUSTEE_W,DWORD,ACCESS_MODE,DWORD);
|
---|
63 | WINADVAPI VOID WINAPI BuildImpersonateTrusteeA(PTRUSTEE_A,PTRUSTEE_A);
|
---|
64 | WINADVAPI VOID WINAPI BuildImpersonateTrusteeW(PTRUSTEE_W,PTRUSTEE_W);
|
---|
65 | WINADVAPI PTRUSTEE_A WINAPI GetMultipleTrusteeA(PTRUSTEE_A);
|
---|
66 | WINADVAPI PTRUSTEE_W WINAPI GetMultipleTrusteeW(PTRUSTEE_W);
|
---|
67 | WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationA(PTRUSTEE_A);
|
---|
68 | WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
|
---|
69 |
|
---|
70 | #ifdef UNICODE
|
---|
71 | #define BuildExplicitAccessWithName BuildExplicitAccessWithNameW
|
---|
72 | #define BuildSecurityDescriptor BuildSecurityDescriptorW
|
---|
73 | #define BuildTrusteeWithName BuildTrusteeWithNameW
|
---|
74 | #define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameW
|
---|
75 | #define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidW
|
---|
76 | #define BuildTrusteeWithSid BuildTrusteeWithSidW
|
---|
77 | #define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclW
|
---|
78 | #define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclW
|
---|
79 | #define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclW
|
---|
80 | #define GetNamedSecurityInfo GetNamedSecurityInfoW
|
---|
81 | #define GetTrusteeForm GetTrusteeFormW
|
---|
82 | #define GetTrusteeName GetTrusteeNameW
|
---|
83 | #define GetTrusteeType GetTrusteeTypeW
|
---|
84 | #define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsW
|
---|
85 | #define SetEntriesInAcl SetEntriesInAclW
|
---|
86 | #define SetNamedSecurityInfo SetNamedSecurityInfoW
|
---|
87 | #define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameW
|
---|
88 | #define BuildImpersonateTrustee BuildImpersonateTrusteeW
|
---|
89 | #define GetMultipleTrustee GetMultipleTrusteeW
|
---|
90 | #define GetMultipleTrusteeOperation GetMultipleTrusteeOperationW
|
---|
91 | #else
|
---|
92 | #define BuildExplicitAccessWithName BuildExplicitAccessWithNameA
|
---|
93 | #define BuildSecurityDescriptor BuildSecurityDescriptorA
|
---|
94 | #define BuildTrusteeWithName BuildTrusteeWithNameA
|
---|
95 | #define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameA
|
---|
96 | #define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidA
|
---|
97 | #define BuildTrusteeWithSid BuildTrusteeWithSidA
|
---|
98 | #define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclA
|
---|
99 | #define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclA
|
---|
100 | #define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclA
|
---|
101 | #define GetNamedSecurityInfo GetNamedSecurityInfoA
|
---|
102 | #define GetTrusteeForm GetTrusteeFormA
|
---|
103 | #define GetTrusteeName GetTrusteeNameA
|
---|
104 | #define GetTrusteeType GetTrusteeTypeA
|
---|
105 | #define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsA
|
---|
106 | #define SetEntriesInAcl SetEntriesInAclA
|
---|
107 | #define SetNamedSecurityInfo SetNamedSecurityInfoA
|
---|
108 | #define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameA
|
---|
109 | #define BuildImpersonateTrustee BuildImpersonateTrusteeA
|
---|
110 | #define GetMultipleTrustee GetMultipleTrusteeA
|
---|
111 | #define GetMultipleTrusteeOperation GetMultipleTrusteeOperationA
|
---|
112 | #endif /* UNICODE */
|
---|
113 |
|
---|
114 | #ifdef __cplusplus
|
---|
115 | }
|
---|
116 | #endif
|
---|
117 | #endif
|
---|