Mercurial > projects > ddbg_continued
comparison win32/aclapi.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
1 /***********************************************************************\ | |
2 * aclapi.d * | |
3 * * | |
4 * Windows API header module * | |
5 * * | |
6 * Translated from MinGW Windows headers * | |
7 * by Stewart Gordon * | |
8 * * | |
9 * Placed into public domain * | |
10 \***********************************************************************/ | |
11 module win32.aclapi; | |
12 pragma(lib, "advapi32.lib"); | |
13 | |
14 import win32.windows, win32.accctrl; | |
15 | |
16 static assert (_WIN32_WINNT_ONLY, | |
17 "win32.aclapi is available only if version WindowsNTonly, WindowsXP, " | |
18 "Windows2003 or WindowsVista is set"); | |
19 | |
20 extern (Windows) { | |
21 VOID BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, DWORD, | |
22 ACCESS_MODE, DWORD); | |
23 VOID BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, DWORD, | |
24 ACCESS_MODE, DWORD); | |
25 DWORD BuildSecurityDescriptorA(PTRUSTEE_A, PTRUSTEE_A , ULONG, | |
26 PEXPLICIT_ACCESS_A, ULONG, PEXPLICIT_ACCESS_A, PSECURITY_DESCRIPTOR, | |
27 PULONG, PSECURITY_DESCRIPTOR*); | |
28 DWORD BuildSecurityDescriptorW(PTRUSTEE_W, PTRUSTEE_W , ULONG, | |
29 PEXPLICIT_ACCESS_W, ULONG, PEXPLICIT_ACCESS_W, PSECURITY_DESCRIPTOR, | |
30 PULONG, PSECURITY_DESCRIPTOR*); | |
31 VOID BuildTrusteeWithNameA(PTRUSTEE_A, LPSTR); | |
32 VOID BuildTrusteeWithNameW(PTRUSTEE_W, LPWSTR); | |
33 VOID BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A, POBJECTS_AND_NAME_A, | |
34 SE_OBJECT_TYPE, LPSTR, LPSTR, LPSTR); | |
35 VOID BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W, POBJECTS_AND_NAME_W, | |
36 SE_OBJECT_TYPE, LPWSTR, LPWSTR, LPWSTR); | |
37 VOID BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A, POBJECTS_AND_SID, | |
38 GUID*, GUID*, PSID); | |
39 VOID BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W, POBJECTS_AND_SID, | |
40 GUID*, GUID*, PSID); | |
41 VOID BuildTrusteeWithSidA(PTRUSTEE_A, PSID); | |
42 VOID BuildTrusteeWithSidW(PTRUSTEE_W, PSID); | |
43 DWORD GetAuditedPermissionsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK, | |
44 PACCESS_MASK); | |
45 DWORD GetAuditedPermissionsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK, | |
46 PACCESS_MASK); | |
47 DWORD GetEffectiveRightsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK); | |
48 DWORD GetEffectiveRightsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK); | |
49 DWORD GetExplicitEntriesFromAclA(PACL, PULONG, PEXPLICIT_ACCESS_A*); | |
50 DWORD GetExplicitEntriesFromAclW(PACL, PULONG, PEXPLICIT_ACCESS_W*); | |
51 static if (WINVER >= 0x501) { | |
52 DWORD GetInheritanceSourceA(LPSTR, SE_OBJECT_TYPE, | |
53 SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, | |
54 PGENERIC_MAPPING, PINHERITED_FROMA); | |
55 DWORD GetInheritanceSourceW(LPWSTR, SE_OBJECT_TYPE, | |
56 SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, | |
57 PGENERIC_MAPPING, PINHERITED_FROMW); | |
58 } | |
59 DWORD GetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, | |
60 PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*); | |
61 DWORD GetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, | |
62 PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*); | |
63 DWORD GetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, | |
64 PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*); | |
65 TRUSTEE_FORM GetTrusteeFormA(PTRUSTEE_A); | |
66 TRUSTEE_FORM GetTrusteeFormW(PTRUSTEE_W); | |
67 LPSTR GetTrusteeNameA(PTRUSTEE_A); | |
68 LPWSTR GetTrusteeNameW(PTRUSTEE_W); | |
69 TRUSTEE_TYPE GetTrusteeTypeA(PTRUSTEE_A); | |
70 TRUSTEE_TYPE GetTrusteeTypeW(PTRUSTEE_W); | |
71 DWORD LookupSecurityDescriptorPartsA(PTRUSTEE_A*, PTRUSTEE_A*, PULONG, | |
72 PEXPLICIT_ACCESS_A*, PULONG, PEXPLICIT_ACCESS_A*, | |
73 PSECURITY_DESCRIPTOR); | |
74 DWORD LookupSecurityDescriptorPartsW(PTRUSTEE_W*, PTRUSTEE_W*, PULONG, | |
75 PEXPLICIT_ACCESS_W*, PULONG, PEXPLICIT_ACCESS_W*, | |
76 PSECURITY_DESCRIPTOR); | |
77 DWORD SetEntriesInAclA(ULONG, PEXPLICIT_ACCESS_A, PACL, PACL*); | |
78 DWORD SetEntriesInAclW(ULONG, PEXPLICIT_ACCESS_W, PACL, PACL*); | |
79 DWORD SetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, | |
80 PSID, PSID, PACL, PACL); | |
81 DWORD SetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, | |
82 PSID, PSID, PACL, PACL); | |
83 DWORD SetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID, | |
84 PSID, PACL, PACL); | |
85 VOID BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, | |
86 PTRUSTEE_A, DWORD, ACCESS_MODE, DWORD); | |
87 VOID BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, | |
88 PTRUSTEE_W, DWORD, ACCESS_MODE, DWORD); | |
89 VOID BuildImpersonateTrusteeA(PTRUSTEE_A, PTRUSTEE_A); | |
90 VOID BuildImpersonateTrusteeW(PTRUSTEE_W, PTRUSTEE_W); | |
91 PTRUSTEE_A GetMultipleTrusteeA(PTRUSTEE_A); | |
92 PTRUSTEE_W GetMultipleTrusteeW(PTRUSTEE_W); | |
93 MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationA(PTRUSTEE_A); | |
94 MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationW(PTRUSTEE_W); | |
95 } | |
96 | |
97 version (Unicode) { | |
98 alias BuildExplicitAccessWithNameW BuildExplicitAccessWithName; | |
99 alias BuildSecurityDescriptorW BuildSecurityDescriptor; | |
100 alias BuildTrusteeWithNameW BuildTrusteeWithName; | |
101 alias BuildTrusteeWithObjectsAndNameW BuildTrusteeWithObjectsAndName; | |
102 alias BuildTrusteeWithObjectsAndSidW BuildTrusteeWithObjectsAndSid; | |
103 alias BuildTrusteeWithSidW BuildTrusteeWithSid; | |
104 alias GetAuditedPermissionsFromAclW GetAuditedPermissionsFromAcl; | |
105 alias GetEffectiveRightsFromAclW GetEffectiveRightsFromAcl; | |
106 alias GetExplicitEntriesFromAclW GetExplicitEntriesFromAcl; | |
107 alias GetNamedSecurityInfoW GetNamedSecurityInfo; | |
108 alias GetTrusteeFormW GetTrusteeForm; | |
109 alias GetTrusteeNameW GetTrusteeName; | |
110 alias GetTrusteeTypeW GetTrusteeType; | |
111 alias LookupSecurityDescriptorPartsW LookupSecurityDescriptorParts; | |
112 alias SetEntriesInAclW SetEntriesInAcl; | |
113 alias SetNamedSecurityInfoW SetNamedSecurityInfo; | |
114 alias BuildImpersonateExplicitAccessWithNameW | |
115 BuildImpersonateExplicitAccessWithName; | |
116 alias BuildImpersonateTrusteeW BuildImpersonateTrustee; | |
117 alias GetMultipleTrusteeW GetMultipleTrustee; | |
118 alias GetMultipleTrusteeOperationW GetMultipleTrusteeOperation; | |
119 } else { | |
120 alias BuildExplicitAccessWithNameA BuildExplicitAccessWithName; | |
121 alias BuildSecurityDescriptorA BuildSecurityDescriptor; | |
122 alias BuildTrusteeWithNameA BuildTrusteeWithName; | |
123 alias BuildTrusteeWithObjectsAndNameA BuildTrusteeWithObjectsAndName; | |
124 alias BuildTrusteeWithObjectsAndSidA BuildTrusteeWithObjectsAndSid; | |
125 alias BuildTrusteeWithSidA BuildTrusteeWithSid; | |
126 alias GetAuditedPermissionsFromAclA GetAuditedPermissionsFromAcl; | |
127 alias GetEffectiveRightsFromAclA GetEffectiveRightsFromAcl; | |
128 alias GetExplicitEntriesFromAclA GetExplicitEntriesFromAcl; | |
129 alias GetNamedSecurityInfoA GetNamedSecurityInfo; | |
130 alias GetTrusteeFormA GetTrusteeForm; | |
131 alias GetTrusteeNameA GetTrusteeName; | |
132 alias GetTrusteeTypeA GetTrusteeType; | |
133 alias LookupSecurityDescriptorPartsA LookupSecurityDescriptorParts; | |
134 alias SetEntriesInAclA SetEntriesInAcl; | |
135 alias SetNamedSecurityInfoA SetNamedSecurityInfo; | |
136 alias BuildImpersonateExplicitAccessWithNameA | |
137 BuildImpersonateExplicitAccessWithName; | |
138 alias BuildImpersonateTrusteeA BuildImpersonateTrustee; | |
139 alias GetMultipleTrusteeA GetMultipleTrustee; | |
140 alias GetMultipleTrusteeOperationA GetMultipleTrusteeOperation; | |
141 } |