Wolfgang Thallergcc16 merge934c3885 months agoHistory
137 lines · 6.9 KB · D
RawDownload
/** * Windows API header module * * Translated from MinGW Windows headers * * Authors: Stewart Gordon * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) * Source: $(DRUNTIMESRC core/sys/windows/_aclapi.d) */module core.sys.windows.aclapi;version (Windows): version (ANSI) {} else version = Unicode;pragma(lib, "advapi32"); import core.sys.windows.accctrl, core.sys.windows.basetyps, core.sys.windows.w32api, core.sys.windows.winnt; extern (Windows) nothrow @nogc {    VOID BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, DWORD,      ACCESS_MODE, DWORD);    VOID BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, DWORD,      ACCESS_MODE, DWORD);    DWORD BuildSecurityDescriptorA(PTRUSTEE_A, PTRUSTEE_A , ULONG,      PEXPLICIT_ACCESS_A, ULONG, PEXPLICIT_ACCESS_A, PSECURITY_DESCRIPTOR,      PULONG, PSECURITY_DESCRIPTOR*);    DWORD BuildSecurityDescriptorW(PTRUSTEE_W, PTRUSTEE_W , ULONG,      PEXPLICIT_ACCESS_W, ULONG, PEXPLICIT_ACCESS_W, PSECURITY_DESCRIPTOR,      PULONG, PSECURITY_DESCRIPTOR*);    VOID BuildTrusteeWithNameA(PTRUSTEE_A, LPSTR);    VOID BuildTrusteeWithNameW(PTRUSTEE_W, LPWSTR);    VOID BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A, POBJECTS_AND_NAME_A,      SE_OBJECT_TYPE, LPSTR, LPSTR, LPSTR);    VOID BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W, POBJECTS_AND_NAME_W,      SE_OBJECT_TYPE, LPWSTR, LPWSTR, LPWSTR);    VOID BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A, POBJECTS_AND_SID,      GUID*, GUID*, PSID);    VOID BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W, POBJECTS_AND_SID,      GUID*, GUID*, PSID);    VOID BuildTrusteeWithSidA(PTRUSTEE_A, PSID);    VOID BuildTrusteeWithSidW(PTRUSTEE_W, PSID);    DWORD GetAuditedPermissionsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK,      PACCESS_MASK);    DWORD GetAuditedPermissionsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK,      PACCESS_MASK);    DWORD GetEffectiveRightsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK);    DWORD GetEffectiveRightsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK);    DWORD GetExplicitEntriesFromAclA(PACL, PULONG, PEXPLICIT_ACCESS_A*);    DWORD GetExplicitEntriesFromAclW(PACL, PULONG, PEXPLICIT_ACCESS_W*);    static if (_WIN32_WINNT >= 0x501) {        DWORD GetInheritanceSourceA(LPSTR, SE_OBJECT_TYPE,          SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*,          PGENERIC_MAPPING, PINHERITED_FROMA);        DWORD GetInheritanceSourceW(LPWSTR, SE_OBJECT_TYPE,          SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*,          PGENERIC_MAPPING, PINHERITED_FROMW);    }    DWORD GetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,      PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);    DWORD GetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,      PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);    DWORD GetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION,      PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);    TRUSTEE_FORM GetTrusteeFormA(PTRUSTEE_A);    TRUSTEE_FORM GetTrusteeFormW(PTRUSTEE_W);    LPSTR GetTrusteeNameA(PTRUSTEE_A);    LPWSTR GetTrusteeNameW(PTRUSTEE_W);    TRUSTEE_TYPE GetTrusteeTypeA(PTRUSTEE_A);    TRUSTEE_TYPE GetTrusteeTypeW(PTRUSTEE_W);    DWORD LookupSecurityDescriptorPartsA(PTRUSTEE_A*, PTRUSTEE_A*, PULONG,      PEXPLICIT_ACCESS_A*, PULONG, PEXPLICIT_ACCESS_A*,      PSECURITY_DESCRIPTOR);    DWORD LookupSecurityDescriptorPartsW(PTRUSTEE_W*, PTRUSTEE_W*, PULONG,      PEXPLICIT_ACCESS_W*, PULONG, PEXPLICIT_ACCESS_W*,      PSECURITY_DESCRIPTOR);    DWORD SetEntriesInAclA(ULONG, PEXPLICIT_ACCESS_A, PACL, PACL*);    DWORD SetEntriesInAclW(ULONG, PEXPLICIT_ACCESS_W, PACL, PACL*);    DWORD SetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,      PSID, PSID, PACL, PACL);    DWORD SetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,      PSID, PSID, PACL, PACL);    DWORD SetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID,      PSID, PACL, PACL);    VOID BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR,      PTRUSTEE_A, DWORD, ACCESS_MODE, DWORD);    VOID BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR,      PTRUSTEE_W, DWORD, ACCESS_MODE, DWORD);    VOID BuildImpersonateTrusteeA(PTRUSTEE_A, PTRUSTEE_A);    VOID BuildImpersonateTrusteeW(PTRUSTEE_W, PTRUSTEE_W);    PTRUSTEE_A GetMultipleTrusteeA(PTRUSTEE_A);    PTRUSTEE_W GetMultipleTrusteeW(PTRUSTEE_W);    MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationA(PTRUSTEE_A);    MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationW(PTRUSTEE_W);} version (Unicode) {    alias BuildExplicitAccessWithName = BuildExplicitAccessWithNameW;    alias BuildSecurityDescriptor = BuildSecurityDescriptorW;    alias BuildTrusteeWithName = BuildTrusteeWithNameW;    alias BuildTrusteeWithObjectsAndName = BuildTrusteeWithObjectsAndNameW;    alias BuildTrusteeWithObjectsAndSid = BuildTrusteeWithObjectsAndSidW;    alias BuildTrusteeWithSid = BuildTrusteeWithSidW;    alias GetAuditedPermissionsFromAcl = GetAuditedPermissionsFromAclW;    alias GetEffectiveRightsFromAcl = GetEffectiveRightsFromAclW;    alias GetExplicitEntriesFromAcl = GetExplicitEntriesFromAclW;    alias GetNamedSecurityInfo = GetNamedSecurityInfoW;    alias GetTrusteeForm = GetTrusteeFormW;    alias GetTrusteeName = GetTrusteeNameW;    alias GetTrusteeType = GetTrusteeTypeW;    alias LookupSecurityDescriptorParts = LookupSecurityDescriptorPartsW;    alias SetEntriesInAcl = SetEntriesInAclW;    alias SetNamedSecurityInfo = SetNamedSecurityInfoW;    alias BuildImpersonateExplicitAccessWithName = BuildImpersonateExplicitAccessWithNameW;    alias BuildImpersonateTrustee = BuildImpersonateTrusteeW;    alias GetMultipleTrustee = GetMultipleTrusteeW;    alias GetMultipleTrusteeOperation = GetMultipleTrusteeOperationW;} else {    alias BuildExplicitAccessWithName = BuildExplicitAccessWithNameA;    alias BuildSecurityDescriptor = BuildSecurityDescriptorA;    alias BuildTrusteeWithName = BuildTrusteeWithNameA;    alias BuildTrusteeWithObjectsAndName = BuildTrusteeWithObjectsAndNameA;    alias BuildTrusteeWithObjectsAndSid = BuildTrusteeWithObjectsAndSidA;    alias BuildTrusteeWithSid = BuildTrusteeWithSidA;    alias GetAuditedPermissionsFromAcl = GetAuditedPermissionsFromAclA;    alias GetEffectiveRightsFromAcl = GetEffectiveRightsFromAclA;    alias GetExplicitEntriesFromAcl = GetExplicitEntriesFromAclA;    alias GetNamedSecurityInfo = GetNamedSecurityInfoA;    alias GetTrusteeForm = GetTrusteeFormA;    alias GetTrusteeName = GetTrusteeNameA;    alias GetTrusteeType = GetTrusteeTypeA;    alias LookupSecurityDescriptorParts = LookupSecurityDescriptorPartsA;    alias SetEntriesInAcl = SetEntriesInAclA;    alias SetNamedSecurityInfo = SetNamedSecurityInfoA;    alias BuildImpersonateExplicitAccessWithName = BuildImpersonateExplicitAccessWithNameA;    alias BuildImpersonateTrustee = BuildImpersonateTrusteeA;    alias GetMultipleTrustee = GetMultipleTrusteeA;    alias GetMultipleTrusteeOperation = GetMultipleTrusteeOperationA;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t