annotate win32/accctrl.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * accctrl.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Translated from MinGW Windows headers *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 * by Stewart Gordon *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 module win32.accctrl;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13 private import win32.basetyps, win32.w32api, win32.winbase, win32.windef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 // FIXME: check types and grouping of constants
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16 // FIXME: check Windows version support
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18 static assert (_WIN32_WINNT_ONLY,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 "win32.accctrl is available only if version WindowsNTonly, WindowsXP, "
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20 "Windows2003 or WindowsVista is set");
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 alias LocalFree AccFree;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 ACTRL_RESERVED = 0x00000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 ACTRL_ACCESS_PROTECTED = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27 ACTRL_ACCESS_ALLOWED = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 ACTRL_ACCESS_DENIED = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29 ACTRL_AUDIT_SUCCESS = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 ACTRL_AUDIT_FAILURE = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 ACTRL_SYSTEM_ACCESS = 0x04000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 ACTRL_DELETE = 0x08000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 ACTRL_READ_CONTROL = 0x10000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 ACTRL_CHANGE_ACCESS = 0x20000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35 ACTRL_CHANGE_OWNER = 0x40000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 ACTRL_SYNCHRONIZE = 0x80000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37 ACTRL_STD_RIGHTS_ALL = 0xf8000000;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 ACTRL_FILE_READ = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 ACTRL_FILE_WRITE = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 ACTRL_FILE_APPEND = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43 ACTRL_FILE_READ_PROP = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44 ACTRL_FILE_WRITE_PROP = 0x00000010,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 ACTRL_FILE_EXECUTE = 0x00000020,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 ACTRL_FILE_READ_ATTRIB = 0x00000080,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47 ACTRL_FILE_WRITE_ATTRIB = 0x00000100,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 ACTRL_FILE_CREATE_PIPE = 0x00000200;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 ACTRL_DIR_LIST = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 ACTRL_DIR_CREATE_OBJECT = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 ACTRL_DIR_CREATE_CHILD = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54 ACTRL_DIR_DELETE_CHILD = 0x00000040,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 ACTRL_DIR_TRAVERSE = 0x00000020;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58 ACTRL_KERNEL_TERMINATE = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 ACTRL_KERNEL_THREAD = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 ACTRL_KERNEL_VM = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 ACTRL_KERNEL_VM_READ = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 ACTRL_KERNEL_VM_WRITE = 0x00000010,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 ACTRL_KERNEL_DUP_HANDLE = 0x00000020,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 ACTRL_KERNEL_PROCESS = 0x00000040,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 ACTRL_KERNEL_SET_INFO = 0x00000080,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 ACTRL_KERNEL_GET_INFO = 0x00000100,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67 ACTRL_KERNEL_CONTROL = 0x00000200,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 ACTRL_KERNEL_ALERT = 0x00000400,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 ACTRL_KERNEL_GET_CONTEXT = 0x00000800,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 ACTRL_KERNEL_SET_CONTEXT = 0x00001000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 ACTRL_KERNEL_TOKEN = 0x00002000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 ACTRL_KERNEL_IMPERSONATE = 0x00004000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 ACTRL_KERNEL_DIMPERSONATE = 0x00008000;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 ACTRL_PRINT_SADMIN = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 ACTRL_PRINT_SLIST = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 ACTRL_PRINT_PADMIN = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 ACTRL_PRINT_PUSE = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 ACTRL_PRINT_JADMIN = 0x00000010;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 ACTRL_SVC_GET_INFO = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 ACTRL_SVC_SET_INFO = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 ACTRL_SVC_STATUS = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86 ACTRL_SVC_LIST = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 ACTRL_SVC_START = 0x00000010,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 ACTRL_SVC_STOP = 0x00000020,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 ACTRL_SVC_PAUSE = 0x00000040,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 ACTRL_SVC_INTERROGATE = 0x00000080,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 ACTRL_SVC_UCONTROL = 0x00000100;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 ACTRL_REG_QUERY = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 ACTRL_REG_SET = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 ACTRL_REG_CREATE_CHILD = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 ACTRL_REG_LIST = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 ACTRL_REG_NOTIFY = 0x00000010,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 ACTRL_REG_LINK = 0x00000020;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 ACTRL_WIN_CLIPBRD = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 ACTRL_WIN_GLOBAL_ATOMS = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 ACTRL_WIN_CREATE = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105 ACTRL_WIN_LIST_DESK = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 ACTRL_WIN_LIST = 0x00000010,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 ACTRL_WIN_READ_ATTRIBS = 0x00000020,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 ACTRL_WIN_WRITE_ATTRIBS = 0x00000040,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109 ACTRL_WIN_SCREEN = 0x00000080,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 ACTRL_WIN_EXIT = 0x00000100;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 enum : uint {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 ACTRL_ACCESS_NO_OPTIONS = 0x00000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES = 0x00000001
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 const TCHAR[] ACCCTRL_DEFAULT_PROVIDER = "Windows NT Access Provider";
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 TRUSTEE_ACCESS_ALLOWED = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 TRUSTEE_ACCESS_READ = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 TRUSTEE_ACCESS_WRITE = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 TRUSTEE_ACCESS_EXPLICIT = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 TRUSTEE_ACCESS_READ_WRITE = 0x00000006,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 TRUSTEE_ACCESS_ALL = 0xFFFFFFFF;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 const uint
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 NO_INHERITANCE = 0x0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 SUB_OBJECTS_ONLY_INHERIT = 0x1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 SUB_CONTAINERS_ONLY_INHERIT = 0x2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 INHERIT_NO_PROPAGATE = 0x4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 INHERIT_ONLY = 0x8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 INHERITED_ACCESS_ENTRY = 0x10,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135 INHERITED_PARENT = 0x10000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 INHERITED_GRANDPARENT = 0x20000000;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 alias ULONG INHERIT_FLAGS, ACCESS_RIGHTS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 alias ULONG* PINHERIT_FLAGS, PACCESS_RIGHTS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141 enum ACCESS_MODE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 NOT_USED_ACCESS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 GRANT_ACCESS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 SET_ACCESS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145 DENY_ACCESS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 REVOKE_ACCESS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 SET_AUDIT_SUCCESS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 SET_AUDIT_FAILURE
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151 enum SE_OBJECT_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152 SE_UNKNOWN_OBJECT_TYPE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153 SE_FILE_OBJECT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154 SE_SERVICE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 SE_PRINTER,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156 SE_REGISTRY_KEY,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157 SE_LMSHARE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158 SE_KERNEL_OBJECT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 SE_WINDOW_OBJECT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160 SE_DS_OBJECT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 SE_DS_OBJECT_ALL,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162 SE_PROVIDER_DEFINED_OBJECT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 SE_WMIGUID_OBJECT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 SE_REGISTRY_WOW64_32KEY
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167 enum TRUSTEE_TYPE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 TRUSTEE_IS_UNKNOWN,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 TRUSTEE_IS_USER,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
170 TRUSTEE_IS_GROUP,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
171 TRUSTEE_IS_DOMAIN,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
172 TRUSTEE_IS_ALIAS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
173 TRUSTEE_IS_WELL_KNOWN_GROUP,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
174 TRUSTEE_IS_DELETED,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
175 TRUSTEE_IS_INVALID,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
176 TRUSTEE_IS_COMPUTER
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
177 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
178
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
179 enum TRUSTEE_FORM {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
180 TRUSTEE_IS_SID,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
181 TRUSTEE_IS_NAME,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
182 TRUSTEE_BAD_FORM,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
183 TRUSTEE_IS_OBJECTS_AND_SID,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
184 TRUSTEE_IS_OBJECTS_AND_NAME
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
185 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
186
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
187 enum MULTIPLE_TRUSTEE_OPERATION {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
188 NO_MULTIPLE_TRUSTEE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
189 TRUSTEE_IS_IMPERSONATE
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
190 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
191
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
192 struct TRUSTEE_A {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
193 TRUSTEE_A* pMultipleTrustee;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
194 MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
195 TRUSTEE_FORM TrusteeForm;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
196 TRUSTEE_TYPE TrusteeType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
197 LPSTR ptstrName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
198 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
199 alias TRUSTEE_A TRUSTEEA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
200 alias TRUSTEE_A* PTRUSTEE_A, PTRUSTEEA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
201
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
202 struct TRUSTEE_W {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
203 TRUSTEE_W* pMultipleTrustee;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
204 MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
205 TRUSTEE_FORM TrusteeForm;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
206 TRUSTEE_TYPE TrusteeType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
207 LPWSTR ptstrName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
208 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
209 alias TRUSTEE_W TRUSTEEW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
210 alias TRUSTEEW* PTRUSTEE_W, PTRUSTEEW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
211
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
212 struct ACTRL_ACCESS_ENTRYA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
213 TRUSTEE_A Trustee;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
214 ULONG fAccessFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
215 ACCESS_RIGHTS Access;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
216 ACCESS_RIGHTS ProvSpecificAccess;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
217 INHERIT_FLAGS Inheritance;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
218 LPCSTR lpInheritProperty;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
219 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
220 alias ACTRL_ACCESS_ENTRYA* PACTRL_ACCESS_ENTRYA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
221
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
222 struct ACTRL_ACCESS_ENTRYW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
223 TRUSTEE_W Trustee;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
224 ULONG fAccessFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
225 ACCESS_RIGHTS Access;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
226 ACCESS_RIGHTS ProvSpecificAccess;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
227 INHERIT_FLAGS Inheritance;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
228 LPCWSTR lpInheritProperty;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
229 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
230 alias ACTRL_ACCESS_ENTRYW* PACTRL_ACCESS_ENTRYW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
231
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
232 struct ACTRL_ACCESS_ENTRY_LISTA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
233 ULONG cEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
234 ACTRL_ACCESS_ENTRYA* pAccessList;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
235 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
236 alias ACTRL_ACCESS_ENTRY_LISTA* PACTRL_ACCESS_ENTRY_LISTA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
237
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
238 struct ACTRL_ACCESS_ENTRY_LISTW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
239 ULONG cEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
240 ACTRL_ACCESS_ENTRYW* pAccessList;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
241 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
242 alias ACTRL_ACCESS_ENTRY_LISTW* PACTRL_ACCESS_ENTRY_LISTW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
243
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
244 struct ACTRL_PROPERTY_ENTRYA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
245 LPCSTR lpProperty;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
246 PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
247 ULONG fListFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
248 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
249 alias ACTRL_PROPERTY_ENTRYA* PACTRL_PROPERTY_ENTRYA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
250
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
251 struct ACTRL_PROPERTY_ENTRYW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
252 LPCWSTR lpProperty;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
253 PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
254 ULONG fListFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
255 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
256 alias ACTRL_PROPERTY_ENTRYW* PACTRL_PROPERTY_ENTRYW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
257
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
258 struct ACTRL_ACCESSA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
259 ULONG cEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
260 PACTRL_PROPERTY_ENTRYA pPropertyAccessList;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
261 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
262 alias ACTRL_ACCESSA ACTRL_AUDITA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
263 alias ACTRL_ACCESSA* PACTRL_ACCESSA, PACTRL_AUDITA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
264
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
265 struct ACTRL_ACCESSW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
266 ULONG cEntries;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
267 PACTRL_PROPERTY_ENTRYW pPropertyAccessList;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
268 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
269 alias ACTRL_ACCESSW ACTRL_AUDITW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
270 alias ACTRL_ACCESSW* PACTRL_ACCESSW, PACTRL_AUDITW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
271
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
272 struct TRUSTEE_ACCESSA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
273 LPSTR lpProperty;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
274 ACCESS_RIGHTS Access;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
275 ULONG fAccessFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
276 ULONG fReturnedAccess;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
277 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
278 alias TRUSTEE_ACCESSA* PTRUSTEE_ACCESSA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
279
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
280 struct TRUSTEE_ACCESSW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
281 LPWSTR lpProperty;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
282 ACCESS_RIGHTS Access;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
283 ULONG fAccessFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
284 ULONG fReturnedAccess;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
285 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
286 alias TRUSTEE_ACCESSW* PTRUSTEE_ACCESSW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
287
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
288 struct ACTRL_OVERLAPPED {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
289 union {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
290 PVOID Provider;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
291 ULONG Reserved1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
292 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
293 ULONG Reserved2;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
294 HANDLE hEvent;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
295 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
296 alias ACTRL_OVERLAPPED* PACTRL_OVERLAPPED;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
297
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
298 struct ACTRL_ACCESS_INFOA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
299 ULONG fAccessPermission;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
300 LPSTR lpAccessPermissionName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
301 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
302 alias ACTRL_ACCESS_INFOA* PACTRL_ACCESS_INFOA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
303
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
304 struct ACTRL_ACCESS_INFOW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
305 ULONG fAccessPermission;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
306 LPWSTR lpAccessPermissionName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
307 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
308 alias ACTRL_ACCESS_INFOW* PACTRL_ACCESS_INFOW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
309
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
310 struct ACTRL_CONTROL_INFOA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
311 LPSTR lpControlId;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
312 LPSTR lpControlName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
313 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
314 alias ACTRL_CONTROL_INFOA* PACTRL_CONTROL_INFOA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
315
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
316 struct ACTRL_CONTROL_INFOW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
317 LPWSTR lpControlId;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
318 LPWSTR lpControlName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
319 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
320 alias ACTRL_CONTROL_INFOW* PACTRL_CONTROL_INFOW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
321
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
322 struct EXPLICIT_ACCESS_A {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
323 DWORD grfAccessPermissions;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
324 ACCESS_MODE grfAccessMode;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
325 DWORD grfInheritance;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
326 TRUSTEE_A Trustee;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
327 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
328 alias EXPLICIT_ACCESS_A EXPLICIT_ACCESSA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
329 alias EXPLICIT_ACCESS_A* PEXPLICIT_ACCESS_A, PEXPLICIT_ACCESSA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
330
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
331 struct EXPLICIT_ACCESS_W {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
332 DWORD grfAccessPermissions;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
333 ACCESS_MODE grfAccessMode;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
334 DWORD grfInheritance;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
335 TRUSTEE_W Trustee;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
336 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
337 alias EXPLICIT_ACCESS_W EXPLICIT_ACCESSW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
338 alias EXPLICIT_ACCESS_W* PEXPLICIT_ACCESS_W, PEXPLICIT_ACCESSW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
339
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
340 struct OBJECTS_AND_SID {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
341 DWORD ObjectsPresent;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
342 GUID ObjectTypeGuid;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
343 GUID InheritedObjectTypeGuid;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
344 SID* pSid;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
345 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
346 alias OBJECTS_AND_SID* POBJECTS_AND_SID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
347
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
348 struct OBJECTS_AND_NAME_A {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
349 DWORD ObjectsPresent;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
350 SE_OBJECT_TYPE ObjectType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
351 LPSTR ObjectTypeName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
352 LPSTR InheritedObjectTypeName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
353 LPSTR ptstrName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
354 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
355 alias OBJECTS_AND_NAME_A* POBJECTS_AND_NAME_A;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
356
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
357 struct OBJECTS_AND_NAME_W {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
358 DWORD ObjectsPresent;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
359 SE_OBJECT_TYPE ObjectType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
360 LPWSTR ObjectTypeName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
361 LPWSTR InheritedObjectTypeName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
362 LPWSTR ptstrName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
363 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
364 alias OBJECTS_AND_NAME_W* POBJECTS_AND_NAME_W;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
365
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
366 static if (WINVER >= 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
367 struct INHERITED_FROMA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
368 LONG GenerationGap;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
369 LPSTR AncestorName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
370 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
371 alias INHERITED_FROMA* PINHERITED_FROMA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
372
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
373 struct INHERITED_FROMW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
374 LONG GenerationGap;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
375 LPWSTR AncestorName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
376 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
377 alias INHERITED_FROMW* PINHERITED_FROMW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
378 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
379
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
380 version (Unicode) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
381 alias TRUSTEEW TRUSTEE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
382 alias ACTRL_ACCESSW ACTRL_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
383 alias ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
384 alias ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
385 alias ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
386 alias ACTRL_AUDITW ACTRL_AUDIT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
387 alias ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
388 alias EXPLICIT_ACCESSW EXPLICIT_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
389 alias TRUSTEE_ACCESSW TRUSTEE_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
390 alias OBJECTS_AND_NAME_W OBJECTS_AND_NAME_;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
391 static if (WINVER >= 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
392 alias INHERITED_FROMW INHERITED_FROM;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
393 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
394 } else {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
395 alias TRUSTEEA TRUSTEE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
396 alias ACTRL_ACCESSA ACTRL_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
397 alias ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
398 alias ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
399 alias ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
400 alias ACTRL_AUDITA ACTRL_AUDIT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
401 alias ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
402 alias EXPLICIT_ACCESSA EXPLICIT_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
403 alias TRUSTEE_ACCESSA TRUSTEE_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
404 alias OBJECTS_AND_NAME_A OBJECTS_AND_NAME_;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
405 static if (WINVER >= 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
406 alias INHERITED_FROMA INHERITED_FROM;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
407 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
408 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
409
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
410 alias TRUSTEE TRUSTEE_;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
411 alias TRUSTEE* PTRUSTEE, PTRUSTEE_;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
412 alias ACTRL_ACCESS* PACTRL_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
413 alias ACTRL_ACCESS_ENTRY_LIST* PACTRL_ACCESS_ENTRY_LIST;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
414 alias ACTRL_ACCESS_INFO* PACTRL_ACCESS_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
415 alias ACTRL_ACCESS_ENTRY* PACTRL_ACCESS_ENTRY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
416 alias ACTRL_AUDIT* PACTRL_AUDIT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
417 alias ACTRL_CONTROL_INFO* PACTRL_CONTROL_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
418 alias EXPLICIT_ACCESS EXPLICIT_ACCESS_;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
419 alias EXPLICIT_ACCESS* PEXPLICIT_ACCESS, PEXPLICIT_ACCESS_;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
420 alias TRUSTEE_ACCESS* PTRUSTEE_ACCESS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
421 alias OBJECTS_AND_NAME_* POBJECTS_AND_NAME_;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
422 static if (WINVER >= 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
423 alias INHERITED_FROM* PINHERITED_FROM;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
424 }