[1046] | 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
|
---|