Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/accctrl.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef __ACCESS_CONTROL__ | |
| 7 #define __ACCESS_CONTROL__ | |
| 8 | |
| 9 #include <wtypes.h> | |
| 10 | |
| 11 #ifdef __cplusplus | |
| 12 extern "C" { | |
| 13 #endif | |
| 14 | |
| 15 #define AccFree LocalFree | |
| 16 | |
| 17 typedef enum _SE_OBJECT_TYPE { | |
| 18 SE_UNKNOWN_OBJECT_TYPE = 0, | |
| 19 SE_FILE_OBJECT,SE_SERVICE, | |
| 20 SE_PRINTER,SE_REGISTRY_KEY, | |
| 21 SE_LMSHARE,SE_KERNEL_OBJECT, | |
| 22 SE_WINDOW_OBJECT, | |
| 23 SE_DS_OBJECT, | |
| 24 SE_DS_OBJECT_ALL, | |
| 25 SE_PROVIDER_DEFINED_OBJECT, | |
| 26 SE_WMIGUID_OBJECT, | |
| 27 SE_REGISTRY_WOW64_32KEY | |
| 28 } SE_OBJECT_TYPE; | |
| 29 | |
| 30 typedef enum _TRUSTEE_TYPE { | |
| 31 TRUSTEE_IS_UNKNOWN, | |
| 32 TRUSTEE_IS_USER, | |
| 33 TRUSTEE_IS_GROUP, | |
| 34 TRUSTEE_IS_DOMAIN, | |
| 35 TRUSTEE_IS_ALIAS, | |
| 36 TRUSTEE_IS_WELL_KNOWN_GROUP, | |
| 37 TRUSTEE_IS_DELETED, | |
| 38 TRUSTEE_IS_INVALID, | |
| 39 TRUSTEE_IS_COMPUTER | |
| 40 } TRUSTEE_TYPE; | |
| 41 | |
| 42 typedef enum _TRUSTEE_FORM { | |
| 43 TRUSTEE_IS_SID, | |
| 44 TRUSTEE_IS_NAME, | |
| 45 TRUSTEE_BAD_FORM, | |
| 46 TRUSTEE_IS_OBJECTS_AND_SID, | |
| 47 TRUSTEE_IS_OBJECTS_AND_NAME | |
| 48 } TRUSTEE_FORM; | |
| 49 | |
| 50 typedef enum _MULTIPLE_TRUSTEE_OPERATION { | |
| 51 NO_MULTIPLE_TRUSTEE, | |
| 52 TRUSTEE_IS_IMPERSONATE | |
| 53 } MULTIPLE_TRUSTEE_OPERATION; | |
| 54 | |
| 55 typedef struct _OBJECTS_AND_SID { | |
| 56 DWORD ObjectsPresent; | |
| 57 GUID ObjectTypeGuid; | |
| 58 GUID InheritedObjectTypeGuid; | |
| 59 SID *pSid; | |
| 60 } OBJECTS_AND_SID,*POBJECTS_AND_SID; | |
| 61 | |
| 62 typedef struct _OBJECTS_AND_NAME_A { | |
| 63 DWORD ObjectsPresent; | |
| 64 SE_OBJECT_TYPE ObjectType; | |
| 65 LPSTR ObjectTypeName; | |
| 66 LPSTR InheritedObjectTypeName; | |
| 67 LPSTR ptstrName; | |
| 68 } OBJECTS_AND_NAME_A,*POBJECTS_AND_NAME_A; | |
| 69 | |
| 70 typedef struct _OBJECTS_AND_NAME_W { | |
| 71 DWORD ObjectsPresent; | |
| 72 SE_OBJECT_TYPE ObjectType; | |
| 73 LPWSTR ObjectTypeName; | |
| 74 LPWSTR InheritedObjectTypeName; | |
| 75 LPWSTR ptstrName; | |
| 76 } OBJECTS_AND_NAME_W,*POBJECTS_AND_NAME_W; | |
| 77 | |
| 78 #ifdef UNICODE | |
| 79 typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_; | |
| 80 typedef POBJECTS_AND_NAME_W POBJECTS_AND_NAME_; | |
| 81 #else | |
| 82 typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_; | |
| 83 typedef POBJECTS_AND_NAME_A POBJECTS_AND_NAME_; | |
| 84 #endif | |
| 85 | |
| 86 typedef struct _TRUSTEE_A { | |
| 87 struct _TRUSTEE_A *pMultipleTrustee; | |
| 88 MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; | |
| 89 TRUSTEE_FORM TrusteeForm; | |
| 90 TRUSTEE_TYPE TrusteeType; | |
| 91 LPSTR ptstrName; | |
| 92 } TRUSTEE_A,*PTRUSTEE_A,TRUSTEEA,*PTRUSTEEA; | |
| 93 | |
| 94 typedef struct _TRUSTEE_W { | |
| 95 struct _TRUSTEE_W *pMultipleTrustee; | |
| 96 MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; | |
| 97 TRUSTEE_FORM TrusteeForm; | |
| 98 TRUSTEE_TYPE TrusteeType; | |
| 99 LPWSTR ptstrName; | |
| 100 } TRUSTEE_W,*PTRUSTEE_W,TRUSTEEW,*PTRUSTEEW; | |
| 101 | |
| 102 #ifdef UNICODE | |
| 103 typedef TRUSTEE_W TRUSTEE_; | |
| 104 typedef PTRUSTEE_W PTRUSTEE_; | |
| 105 typedef TRUSTEEW TRUSTEE; | |
| 106 typedef PTRUSTEEW PTRUSTEE; | |
| 107 #else | |
| 108 typedef TRUSTEE_A TRUSTEE_; | |
| 109 typedef PTRUSTEE_A PTRUSTEE_; | |
| 110 typedef TRUSTEEA TRUSTEE; | |
| 111 typedef PTRUSTEEA PTRUSTEE; | |
| 112 #endif | |
| 113 | |
| 114 typedef enum _ACCESS_MODE { | |
| 115 NOT_USED_ACCESS = 0, | |
| 116 GRANT_ACCESS,SET_ACCESS, | |
| 117 DENY_ACCESS,REVOKE_ACCESS,SET_AUDIT_SUCCESS, | |
| 118 SET_AUDIT_FAILURE | |
| 119 } ACCESS_MODE; | |
| 120 | |
| 121 #define NO_INHERITANCE 0x0 | |
| 122 #define SUB_OBJECTS_ONLY_INHERIT 0x1 | |
| 123 #define SUB_CONTAINERS_ONLY_INHERIT 0x2 | |
| 124 #define SUB_CONTAINERS_AND_OBJECTS_INHERIT 0x3 | |
| 125 #define INHERIT_NO_PROPAGATE 0x4 | |
| 126 #define INHERIT_ONLY 0x8 | |
| 127 #define INHERITED_ACCESS_ENTRY 0x10 | |
| 128 | |
| 129 #define INHERITED_PARENT 0x10000000 | |
| 130 #define INHERITED_GRANDPARENT 0x20000000 | |
| 131 | |
| 132 typedef struct _EXPLICIT_ACCESS_A { | |
| 133 DWORD grfAccessPermissions; | |
| 134 ACCESS_MODE grfAccessMode; | |
| 135 DWORD grfInheritance; | |
| 136 TRUSTEE_A Trustee; | |
| 137 } EXPLICIT_ACCESS_A,*PEXPLICIT_ACCESS_A,EXPLICIT_ACCESSA,*PEXPLICIT_ACCESSA; | |
| 138 | |
| 139 typedef struct _EXPLICIT_ACCESS_W { | |
| 140 DWORD grfAccessPermissions; | |
| 141 ACCESS_MODE grfAccessMode; | |
| 142 DWORD grfInheritance; | |
| 143 TRUSTEE_W Trustee; | |
| 144 } EXPLICIT_ACCESS_W,*PEXPLICIT_ACCESS_W,EXPLICIT_ACCESSW,*PEXPLICIT_ACCESSW; | |
| 145 | |
| 146 #ifdef UNICODE | |
| 147 typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_; | |
| 148 typedef PEXPLICIT_ACCESS_W PEXPLICIT_ACCESS_; | |
| 149 typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS; | |
| 150 typedef PEXPLICIT_ACCESSW PEXPLICIT_ACCESS; | |
| 151 #else | |
| 152 typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_; | |
| 153 typedef PEXPLICIT_ACCESS_A PEXPLICIT_ACCESS_; | |
| 154 typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS; | |
| 155 typedef PEXPLICIT_ACCESSA PEXPLICIT_ACCESS; | |
| 156 #endif | |
| 157 | |
| 158 #define ACCCTRL_DEFAULT_PROVIDERA "Windows NT Access Provider" | |
| 159 #define ACCCTRL_DEFAULT_PROVIDERW L"Windows NT Access Provider" | |
| 160 | |
| 161 #ifdef UNICODE | |
| 162 #define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW | |
| 163 #else | |
| 164 #define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA | |
| 165 #endif | |
| 166 | |
| 167 typedef ULONG ACCESS_RIGHTS,*PACCESS_RIGHTS; | |
| 168 typedef ULONG INHERIT_FLAGS,*PINHERIT_FLAGS; | |
| 169 | |
| 170 typedef struct _ACTRL_ACCESS_ENTRYA { | |
| 171 TRUSTEE_A Trustee; | |
| 172 ULONG fAccessFlags; | |
| 173 ACCESS_RIGHTS Access; | |
| 174 ACCESS_RIGHTS ProvSpecificAccess; | |
| 175 INHERIT_FLAGS Inheritance; | |
| 176 LPSTR lpInheritProperty; | |
| 177 } ACTRL_ACCESS_ENTRYA,*PACTRL_ACCESS_ENTRYA; | |
| 178 | |
| 179 typedef struct _ACTRL_ACCESS_ENTRYW { | |
| 180 TRUSTEE_W Trustee; | |
| 181 ULONG fAccessFlags; | |
| 182 ACCESS_RIGHTS Access; | |
| 183 ACCESS_RIGHTS ProvSpecificAccess; | |
| 184 INHERIT_FLAGS Inheritance; | |
| 185 LPWSTR lpInheritProperty; | |
| 186 } ACTRL_ACCESS_ENTRYW,*PACTRL_ACCESS_ENTRYW; | |
| 187 | |
| 188 #ifdef UNICODE | |
| 189 typedef ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY; | |
| 190 typedef PACTRL_ACCESS_ENTRYW PACTRL_ACCESS_ENTRY; | |
| 191 #else | |
| 192 typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY; | |
| 193 typedef PACTRL_ACCESS_ENTRYA PACTRL_ACCESS_ENTRY; | |
| 194 #endif | |
| 195 | |
| 196 typedef struct _ACTRL_ACCESS_ENTRY_LISTA { | |
| 197 ULONG cEntries; | |
| 198 ACTRL_ACCESS_ENTRYA *pAccessList; | |
| 199 } ACTRL_ACCESS_ENTRY_LISTA,*PACTRL_ACCESS_ENTRY_LISTA; | |
| 200 | |
| 201 typedef struct _ACTRL_ACCESS_ENTRY_LISTW { | |
| 202 ULONG cEntries; | |
| 203 ACTRL_ACCESS_ENTRYW *pAccessList; | |
| 204 } ACTRL_ACCESS_ENTRY_LISTW,*PACTRL_ACCESS_ENTRY_LISTW; | |
| 205 | |
| 206 #ifdef UNICODE | |
| 207 typedef ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST; | |
| 208 typedef PACTRL_ACCESS_ENTRY_LISTW PACTRL_ACCESS_ENTRY_LIST; | |
| 209 #else | |
| 210 typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST; | |
| 211 typedef PACTRL_ACCESS_ENTRY_LISTA PACTRL_ACCESS_ENTRY_LIST; | |
| 212 #endif | |
| 213 | |
| 214 typedef struct _ACTRL_PROPERTY_ENTRYA { | |
| 215 LPSTR lpProperty; | |
| 216 PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList; | |
| 217 ULONG fListFlags; | |
| 218 } ACTRL_PROPERTY_ENTRYA,*PACTRL_PROPERTY_ENTRYA; | |
| 219 | |
| 220 typedef struct _ACTRL_PROPERTY_ENTRYW { | |
| 221 LPWSTR lpProperty; | |
| 222 PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList; | |
| 223 ULONG fListFlags; | |
| 224 } ACTRL_PROPERTY_ENTRYW,*PACTRL_PROPERTY_ENTRYW; | |
| 225 | |
| 226 #ifdef UNICODE | |
| 227 typedef ACTRL_PROPERTY_ENTRYW ACTRL_PROPERTY_ENTRY; | |
| 228 typedef PACTRL_PROPERTY_ENTRYW PACTRL_PROPERTY_ENTRY; | |
| 229 #else | |
| 230 typedef ACTRL_PROPERTY_ENTRYA ACTRL_PROPERTY_ENTRY; | |
| 231 typedef PACTRL_PROPERTY_ENTRYA PACTRL_PROPERTY_ENTRY; | |
| 232 #endif | |
| 233 | |
| 234 typedef struct _ACTRL_ALISTA { | |
| 235 ULONG cEntries; | |
| 236 PACTRL_PROPERTY_ENTRYA pPropertyAccessList; | |
| 237 } ACTRL_ACCESSA,*PACTRL_ACCESSA,ACTRL_AUDITA,*PACTRL_AUDITA; | |
| 238 | |
| 239 typedef struct _ACTRL_ALISTW { | |
| 240 ULONG cEntries; | |
| 241 PACTRL_PROPERTY_ENTRYW pPropertyAccessList; | |
| 242 } ACTRL_ACCESSW,*PACTRL_ACCESSW,ACTRL_AUDITW,*PACTRL_AUDITW; | |
| 243 | |
| 244 #ifdef UNICODE | |
| 245 typedef ACTRL_ACCESSW ACTRL_ACCESS; | |
| 246 typedef PACTRL_ACCESSW PACTRL_ACCESS; | |
| 247 typedef ACTRL_AUDITW ACTRL_AUDIT; | |
| 248 typedef PACTRL_AUDITW PACTRL_AUDIT; | |
| 249 #else | |
| 250 typedef ACTRL_ACCESSA ACTRL_ACCESS; | |
| 251 typedef PACTRL_ACCESSA PACTRL_ACCESS; | |
| 252 typedef ACTRL_AUDITA ACTRL_AUDIT; | |
| 253 typedef PACTRL_AUDITA PACTRL_AUDIT; | |
| 254 #endif | |
| 255 | |
| 256 #define TRUSTEE_ACCESS_ALLOWED 0x00000001L | |
| 257 #define TRUSTEE_ACCESS_READ 0x00000002L | |
| 258 #define TRUSTEE_ACCESS_WRITE 0x00000004L | |
| 259 | |
| 260 #define TRUSTEE_ACCESS_EXPLICIT 0x00000001L | |
| 261 #define TRUSTEE_ACCESS_READ_WRITE (TRUSTEE_ACCESS_READ | TRUSTEE_ACCESS_WRITE) | |
| 262 | |
| 263 #define TRUSTEE_ACCESS_ALL 0xFFFFFFFFL | |
| 264 | |
| 265 typedef struct _TRUSTEE_ACCESSA { | |
| 266 LPSTR lpProperty; | |
| 267 ACCESS_RIGHTS Access; | |
| 268 ULONG fAccessFlags; | |
| 269 ULONG fReturnedAccess; | |
| 270 } TRUSTEE_ACCESSA,*PTRUSTEE_ACCESSA; | |
| 271 | |
| 272 typedef struct _TRUSTEE_ACCESSW { | |
| 273 LPWSTR lpProperty; | |
| 274 ACCESS_RIGHTS Access; | |
| 275 ULONG fAccessFlags; | |
| 276 ULONG fReturnedAccess; | |
| 277 } TRUSTEE_ACCESSW,*PTRUSTEE_ACCESSW; | |
| 278 | |
| 279 #ifdef UNICODE | |
| 280 typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS; | |
| 281 typedef PTRUSTEE_ACCESSW PTRUSTEE_ACCESS; | |
| 282 #else | |
| 283 typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS; | |
| 284 typedef PTRUSTEE_ACCESSA PTRUSTEE_ACCESS; | |
| 285 #endif | |
| 286 | |
| 287 #define ACTRL_RESERVED 0x00000000 | |
| 288 #define ACTRL_PERM_1 0x00000001 | |
| 289 #define ACTRL_PERM_2 0x00000002 | |
| 290 #define ACTRL_PERM_3 0x00000004 | |
| 291 #define ACTRL_PERM_4 0x00000008 | |
| 292 #define ACTRL_PERM_5 0x00000010 | |
| 293 #define ACTRL_PERM_6 0x00000020 | |
| 294 #define ACTRL_PERM_7 0x00000040 | |
| 295 #define ACTRL_PERM_8 0x00000080 | |
| 296 #define ACTRL_PERM_9 0x00000100 | |
| 297 #define ACTRL_PERM_10 0x00000200 | |
| 298 #define ACTRL_PERM_11 0x00000400 | |
| 299 #define ACTRL_PERM_12 0x00000800 | |
| 300 #define ACTRL_PERM_13 0x00001000 | |
| 301 #define ACTRL_PERM_14 0x00002000 | |
| 302 #define ACTRL_PERM_15 0x00004000 | |
| 303 #define ACTRL_PERM_16 0x00008000 | |
| 304 #define ACTRL_PERM_17 0x00010000 | |
| 305 #define ACTRL_PERM_18 0x00020000 | |
| 306 #define ACTRL_PERM_19 0x00040000 | |
| 307 #define ACTRL_PERM_20 0x00080000 | |
| 308 | |
| 309 #define ACTRL_ACCESS_ALLOWED 0x00000001 | |
| 310 #define ACTRL_ACCESS_DENIED 0x00000002 | |
| 311 #define ACTRL_AUDIT_SUCCESS 0x00000004 | |
| 312 #define ACTRL_AUDIT_FAILURE 0x00000008 | |
| 313 | |
| 314 #define ACTRL_ACCESS_PROTECTED 0x00000001 | |
| 315 | |
| 316 #define ACTRL_SYSTEM_ACCESS 0x04000000 | |
| 317 #define ACTRL_DELETE 0x08000000 | |
| 318 #define ACTRL_READ_CONTROL 0x10000000 | |
| 319 #define ACTRL_CHANGE_ACCESS 0x20000000 | |
| 320 #define ACTRL_CHANGE_OWNER 0x40000000 | |
| 321 #define ACTRL_SYNCHRONIZE 0x80000000 | |
| 322 #define ACTRL_STD_RIGHTS_ALL 0xf8000000 | |
| 323 #define ACTRL_STD_RIGHT_REQUIRED (ACTRL_STD_RIGHTS_ALL & ~ACTRL_SYNCHRONIZE) | |
| 324 | |
| 325 #ifndef _DS_CONTROL_BITS_DEFINED_ | |
| 326 #define _DS_CONTROL_BITS_DEFINED_ | |
| 327 #define ACTRL_DS_OPEN ACTRL_RESERVED | |
| 328 #define ACTRL_DS_CREATE_CHILD ACTRL_PERM_1 | |
| 329 #define ACTRL_DS_DELETE_CHILD ACTRL_PERM_2 | |
| 330 #define ACTRL_DS_LIST ACTRL_PERM_3 | |
| 331 #define ACTRL_DS_SELF ACTRL_PERM_4 | |
| 332 #define ACTRL_DS_READ_PROP ACTRL_PERM_5 | |
| 333 #define ACTRL_DS_WRITE_PROP ACTRL_PERM_6 | |
| 334 #define ACTRL_DS_DELETE_TREE ACTRL_PERM_7 | |
| 335 #define ACTRL_DS_LIST_OBJECT ACTRL_PERM_8 | |
| 336 #define ACTRL_DS_CONTROL_ACCESS ACTRL_PERM_9 | |
| 337 #endif | |
| 338 | |
| 339 #define ACTRL_FILE_READ ACTRL_PERM_1 | |
| 340 #define ACTRL_FILE_WRITE ACTRL_PERM_2 | |
| 341 #define ACTRL_FILE_APPEND ACTRL_PERM_3 | |
| 342 #define ACTRL_FILE_READ_PROP ACTRL_PERM_4 | |
| 343 #define ACTRL_FILE_WRITE_PROP ACTRL_PERM_5 | |
| 344 #define ACTRL_FILE_EXECUTE ACTRL_PERM_6 | |
| 345 #define ACTRL_FILE_READ_ATTRIB ACTRL_PERM_8 | |
| 346 #define ACTRL_FILE_WRITE_ATTRIB ACTRL_PERM_9 | |
| 347 #define ACTRL_FILE_CREATE_PIPE ACTRL_PERM_10 | |
| 348 #define ACTRL_DIR_LIST ACTRL_PERM_1 | |
| 349 #define ACTRL_DIR_CREATE_OBJECT ACTRL_PERM_2 | |
| 350 #define ACTRL_DIR_CREATE_CHILD ACTRL_PERM_3 | |
| 351 #define ACTRL_DIR_DELETE_CHILD ACTRL_PERM_7 | |
| 352 #define ACTRL_DIR_TRAVERSE ACTRL_PERM_6 | |
| 353 #define ACTRL_KERNEL_TERMINATE ACTRL_PERM_1 | |
| 354 #define ACTRL_KERNEL_THREAD ACTRL_PERM_2 | |
| 355 #define ACTRL_KERNEL_VM ACTRL_PERM_3 | |
| 356 #define ACTRL_KERNEL_VM_READ ACTRL_PERM_4 | |
| 357 #define ACTRL_KERNEL_VM_WRITE ACTRL_PERM_5 | |
| 358 #define ACTRL_KERNEL_DUP_HANDLE ACTRL_PERM_6 | |
| 359 #define ACTRL_KERNEL_PROCESS ACTRL_PERM_7 | |
| 360 #define ACTRL_KERNEL_SET_INFO ACTRL_PERM_8 | |
| 361 #define ACTRL_KERNEL_GET_INFO ACTRL_PERM_9 | |
| 362 #define ACTRL_KERNEL_CONTROL ACTRL_PERM_10 | |
| 363 #define ACTRL_KERNEL_ALERT ACTRL_PERM_11 | |
| 364 #define ACTRL_KERNEL_GET_CONTEXT ACTRL_PERM_12 | |
| 365 #define ACTRL_KERNEL_SET_CONTEXT ACTRL_PERM_13 | |
| 366 #define ACTRL_KERNEL_TOKEN ACTRL_PERM_14 | |
| 367 #define ACTRL_KERNEL_IMPERSONATE ACTRL_PERM_15 | |
| 368 #define ACTRL_KERNEL_DIMPERSONATE ACTRL_PERM_16 | |
| 369 #define ACTRL_PRINT_SADMIN ACTRL_PERM_1 | |
| 370 #define ACTRL_PRINT_SLIST ACTRL_PERM_2 | |
| 371 #define ACTRL_PRINT_PADMIN ACTRL_PERM_3 | |
| 372 #define ACTRL_PRINT_PUSE ACTRL_PERM_4 | |
| 373 #define ACTRL_PRINT_JADMIN ACTRL_PERM_5 | |
| 374 #define ACTRL_SVC_GET_INFO ACTRL_PERM_1 | |
| 375 #define ACTRL_SVC_SET_INFO ACTRL_PERM_2 | |
| 376 #define ACTRL_SVC_STATUS ACTRL_PERM_3 | |
| 377 #define ACTRL_SVC_LIST ACTRL_PERM_4 | |
| 378 #define ACTRL_SVC_START ACTRL_PERM_5 | |
| 379 #define ACTRL_SVC_STOP ACTRL_PERM_6 | |
| 380 #define ACTRL_SVC_PAUSE ACTRL_PERM_7 | |
| 381 #define ACTRL_SVC_INTERROGATE ACTRL_PERM_8 | |
| 382 #define ACTRL_SVC_UCONTROL ACTRL_PERM_9 | |
| 383 #define ACTRL_REG_QUERY ACTRL_PERM_1 | |
| 384 #define ACTRL_REG_SET ACTRL_PERM_2 | |
| 385 #define ACTRL_REG_CREATE_CHILD ACTRL_PERM_3 | |
| 386 #define ACTRL_REG_LIST ACTRL_PERM_4 | |
| 387 #define ACTRL_REG_NOTIFY ACTRL_PERM_5 | |
| 388 #define ACTRL_REG_LINK ACTRL_PERM_6 | |
| 389 #define ACTRL_WIN_CLIPBRD ACTRL_PERM_1 | |
| 390 #define ACTRL_WIN_GLOBAL_ATOMS ACTRL_PERM_2 | |
| 391 #define ACTRL_WIN_CREATE ACTRL_PERM_3 | |
| 392 #define ACTRL_WIN_LIST_DESK ACTRL_PERM_4 | |
| 393 #define ACTRL_WIN_LIST ACTRL_PERM_5 | |
| 394 #define ACTRL_WIN_READ_ATTRIBS ACTRL_PERM_6 | |
| 395 #define ACTRL_WIN_WRITE_ATTRIBS ACTRL_PERM_7 | |
| 396 #define ACTRL_WIN_SCREEN ACTRL_PERM_8 | |
| 397 #define ACTRL_WIN_EXIT ACTRL_PERM_9 | |
| 398 | |
| 399 typedef struct _ACTRL_OVERLAPPED { | |
| 400 __MINGW_EXTENSION union { | |
| 401 PVOID Provider; | |
| 402 ULONG Reserved1; | |
| 403 }; | |
| 404 ULONG Reserved2; | |
| 405 HANDLE hEvent; | |
| 406 } ACTRL_OVERLAPPED,*PACTRL_OVERLAPPED; | |
| 407 | |
| 408 typedef struct _ACTRL_ACCESS_INFOA { | |
| 409 ULONG fAccessPermission; | |
| 410 LPSTR lpAccessPermissionName; | |
| 411 } ACTRL_ACCESS_INFOA,*PACTRL_ACCESS_INFOA; | |
| 412 | |
| 413 typedef struct _ACTRL_ACCESS_INFOW { | |
| 414 ULONG fAccessPermission; | |
| 415 LPWSTR lpAccessPermissionName; | |
| 416 } ACTRL_ACCESS_INFOW,*PACTRL_ACCESS_INFOW; | |
| 417 | |
| 418 #ifdef UNICODE | |
| 419 typedef ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO; | |
| 420 typedef PACTRL_ACCESS_INFOW PACTRL_ACCESS_INFO; | |
| 421 #else | |
| 422 typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO; | |
| 423 typedef PACTRL_ACCESS_INFOA PACTRL_ACCESS_INFO; | |
| 424 #endif | |
| 425 | |
| 426 typedef struct _ACTRL_CONTROL_INFOA { | |
| 427 LPSTR lpControlId; | |
| 428 LPSTR lpControlName; | |
| 429 } ACTRL_CONTROL_INFOA,*PACTRL_CONTROL_INFOA; | |
| 430 | |
| 431 typedef struct _ACTRL_CONTROL_INFOW { | |
| 432 LPWSTR lpControlId; | |
| 433 LPWSTR lpControlName; | |
| 434 } ACTRL_CONTROL_INFOW,*PACTRL_CONTROL_INFOW; | |
| 435 | |
| 436 #ifdef UNICODE | |
| 437 typedef ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO; | |
| 438 typedef PACTRL_CONTROL_INFOW PACTRL_CONTROL_INFO; | |
| 439 #else | |
| 440 typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO; | |
| 441 typedef PACTRL_CONTROL_INFOA PACTRL_CONTROL_INFO; | |
| 442 #endif | |
| 443 | |
| 444 #define ACTRL_ACCESS_NO_OPTIONS 0x00000000 | |
| 445 #define ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES 0x00000001 | |
| 446 | |
| 447 typedef enum _PROGRESS_INVOKE_SETTING { | |
| 448 ProgressInvokeNever = 1,ProgressInvokeEveryObject,ProgressInvokeOnError,ProgressCancelOperation,ProgressRetryOperation | |
| 449 } PROG_INVOKE_SETTING,*PPROG_INVOKE_SETTING; | |
| 450 | |
| 451 typedef struct _FN_OBJECT_MGR_FUNCTIONS { | |
| 452 ULONG Placeholder; | |
| 453 } FN_OBJECT_MGR_FUNCTS,*PFN_OBJECT_MGR_FUNCTS; | |
| 454 | |
| 455 typedef struct _INHERITED_FROMA { | |
| 456 LONG GenerationGap; | |
| 457 LPSTR AncestorName; | |
| 458 } INHERITED_FROMA,*PINHERITED_FROMA; | |
| 459 | |
| 460 typedef struct _INHERITED_FROMW { | |
| 461 LONG GenerationGap; | |
| 462 LPWSTR AncestorName; | |
| 463 } INHERITED_FROMW,*PINHERITED_FROMW; | |
| 464 | |
| 465 #ifdef UNICODE | |
| 466 typedef INHERITED_FROMW INHERITED_FROM; | |
| 467 typedef PINHERITED_FROMW PINHERITED_FROM; | |
| 468 #else | |
| 469 typedef INHERITED_FROMA INHERITED_FROM; | |
| 470 typedef PINHERITED_FROMA PINHERITED_FROM; | |
| 471 #endif | |
| 472 | |
| 473 #ifdef __cplusplus | |
| 474 } | |
| 475 #endif | |
| 476 #endif |
