Differences From Artifact [e316536fe0a88b95]:
- File
src/win32/accctrl.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [48529f99cd556031]:
- File
src/win32/accctrl.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
11 module win32.accctrl; 11 module win32.accctrl;
12 12
13 private import win32.basetyps, win32.w32api, win32.winbase, win32.windef; 13 private import win32.basetyps, win32.w32api, win32.winbase, win32.windef;
14 14
15 // FIXME: check types and grouping of constants 15 // FIXME: check types and grouping of constants
16 // FIXME: check Windows version support 16 // FIXME: check Windows version support
17 17
18 static assert (_WIN32_WINNT_ONLY, <
19 "win32.accctrl is available only if version WindowsNTonly, WindowsXP, " <
20 "Windows2003 or WindowsVista is set"); <
21 <
22 alias LocalFree AccFree; 18 alias LocalFree AccFree;
23 19
24 const uint 20 const uint
25 ACTRL_RESERVED = 0x00000000, 21 ACTRL_RESERVED = 0x00000000,
26 ACTRL_ACCESS_PROTECTED = 0x00000001, 22 ACTRL_ACCESS_PROTECTED = 0x00000001,
27 ACTRL_ACCESS_ALLOWED = 0x00000001, 23 ACTRL_ACCESS_ALLOWED = 0x00000001,
28 ACTRL_ACCESS_DENIED = 0x00000002, 24 ACTRL_ACCESS_DENIED = 0x00000002,
................................................................................................................................................................................
359 SE_OBJECT_TYPE ObjectType; 355 SE_OBJECT_TYPE ObjectType;
360 LPWSTR ObjectTypeName; 356 LPWSTR ObjectTypeName;
361 LPWSTR InheritedObjectTypeName; 357 LPWSTR InheritedObjectTypeName;
362 LPWSTR ptstrName; 358 LPWSTR ptstrName;
363 } 359 }
364 alias OBJECTS_AND_NAME_W* POBJECTS_AND_NAME_W; 360 alias OBJECTS_AND_NAME_W* POBJECTS_AND_NAME_W;
365 361
366 static if (WINVER >= 0x501) { | 362 static if (_WIN32_WINNT >= 0x501) {
367 struct INHERITED_FROMA { 363 struct INHERITED_FROMA {
368 LONG GenerationGap; 364 LONG GenerationGap;
369 LPSTR AncestorName; 365 LPSTR AncestorName;
370 } 366 }
371 alias INHERITED_FROMA* PINHERITED_FROMA; 367 alias INHERITED_FROMA* PINHERITED_FROMA;
372 368
373 struct INHERITED_FROMW { 369 struct INHERITED_FROMW {
................................................................................................................................................................................
384 alias ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO; 380 alias ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO;
385 alias ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY; 381 alias ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY;
386 alias ACTRL_AUDITW ACTRL_AUDIT; 382 alias ACTRL_AUDITW ACTRL_AUDIT;
387 alias ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO; 383 alias ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO;
388 alias EXPLICIT_ACCESSW EXPLICIT_ACCESS; 384 alias EXPLICIT_ACCESSW EXPLICIT_ACCESS;
389 alias TRUSTEE_ACCESSW TRUSTEE_ACCESS; 385 alias TRUSTEE_ACCESSW TRUSTEE_ACCESS;
390 alias OBJECTS_AND_NAME_W OBJECTS_AND_NAME_; 386 alias OBJECTS_AND_NAME_W OBJECTS_AND_NAME_;
391 static if (WINVER >= 0x501) { | 387 static if (_WIN32_WINNT >= 0x501) {
392 alias INHERITED_FROMW INHERITED_FROM; 388 alias INHERITED_FROMW INHERITED_FROM;
393 } 389 }
394 } else { 390 } else {
395 alias TRUSTEEA TRUSTEE; 391 alias TRUSTEEA TRUSTEE;
396 alias ACTRL_ACCESSA ACTRL_ACCESS; 392 alias ACTRL_ACCESSA ACTRL_ACCESS;
397 alias ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST; 393 alias ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST;
398 alias ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO; 394 alias ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO;
399 alias ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY; 395 alias ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY;
400 alias ACTRL_AUDITA ACTRL_AUDIT; 396 alias ACTRL_AUDITA ACTRL_AUDIT;
401 alias ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO; 397 alias ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO;
402 alias EXPLICIT_ACCESSA EXPLICIT_ACCESS; 398 alias EXPLICIT_ACCESSA EXPLICIT_ACCESS;
403 alias TRUSTEE_ACCESSA TRUSTEE_ACCESS; 399 alias TRUSTEE_ACCESSA TRUSTEE_ACCESS;
404 alias OBJECTS_AND_NAME_A OBJECTS_AND_NAME_; 400 alias OBJECTS_AND_NAME_A OBJECTS_AND_NAME_;
405 static if (WINVER >= 0x501) { | 401 static if (_WIN32_WINNT >= 0x501) {
406 alias INHERITED_FROMA INHERITED_FROM; 402 alias INHERITED_FROMA INHERITED_FROM;
407 } 403 }
408 } 404 }
409 405
410 alias TRUSTEE TRUSTEE_; 406 alias TRUSTEE TRUSTEE_;
411 alias TRUSTEE* PTRUSTEE, PTRUSTEE_; 407 alias TRUSTEE* PTRUSTEE, PTRUSTEE_;
412 alias ACTRL_ACCESS* PACTRL_ACCESS; 408 alias ACTRL_ACCESS* PACTRL_ACCESS;
................................................................................................................................................................................
415 alias ACTRL_ACCESS_ENTRY* PACTRL_ACCESS_ENTRY; 411 alias ACTRL_ACCESS_ENTRY* PACTRL_ACCESS_ENTRY;
416 alias ACTRL_AUDIT* PACTRL_AUDIT; 412 alias ACTRL_AUDIT* PACTRL_AUDIT;
417 alias ACTRL_CONTROL_INFO* PACTRL_CONTROL_INFO; 413 alias ACTRL_CONTROL_INFO* PACTRL_CONTROL_INFO;
418 alias EXPLICIT_ACCESS EXPLICIT_ACCESS_; 414 alias EXPLICIT_ACCESS EXPLICIT_ACCESS_;
419 alias EXPLICIT_ACCESS* PEXPLICIT_ACCESS, PEXPLICIT_ACCESS_; 415 alias EXPLICIT_ACCESS* PEXPLICIT_ACCESS, PEXPLICIT_ACCESS_;
420 alias TRUSTEE_ACCESS* PTRUSTEE_ACCESS; 416 alias TRUSTEE_ACCESS* PTRUSTEE_ACCESS;
421 alias OBJECTS_AND_NAME_* POBJECTS_AND_NAME_; 417 alias OBJECTS_AND_NAME_* POBJECTS_AND_NAME_;
422 static if (WINVER >= 0x501) { | 418 static if (_WIN32_WINNT >= 0x501) {
423 alias INHERITED_FROM* PINHERITED_FROM; 419 alias INHERITED_FROM* PINHERITED_FROM;
424 } 420 }