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