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 11 module win32.accctrl;
12 12
13 13 private import win32.basetyps, win32.w32api, win32.winbase, win32.windef;
14 14
15 15 // FIXME: check types and grouping of constants
16 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 18 alias LocalFree AccFree;
23 19
24 20 const uint
25 21 ACTRL_RESERVED = 0x00000000,
26 22 ACTRL_ACCESS_PROTECTED = 0x00000001,
27 23 ACTRL_ACCESS_ALLOWED = 0x00000001,
28 24 ACTRL_ACCESS_DENIED = 0x00000002,
................................................................................
359 355 SE_OBJECT_TYPE ObjectType;
360 356 LPWSTR ObjectTypeName;
361 357 LPWSTR InheritedObjectTypeName;
362 358 LPWSTR ptstrName;
363 359 }
364 360 alias OBJECTS_AND_NAME_W* POBJECTS_AND_NAME_W;
365 361
366 -static if (WINVER >= 0x501) {
362 +static if (_WIN32_WINNT >= 0x501) {
367 363 struct INHERITED_FROMA {
368 364 LONG GenerationGap;
369 365 LPSTR AncestorName;
370 366 }
371 367 alias INHERITED_FROMA* PINHERITED_FROMA;
372 368
373 369 struct INHERITED_FROMW {
................................................................................
384 380 alias ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO;
385 381 alias ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY;
386 382 alias ACTRL_AUDITW ACTRL_AUDIT;
387 383 alias ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO;
388 384 alias EXPLICIT_ACCESSW EXPLICIT_ACCESS;
389 385 alias TRUSTEE_ACCESSW TRUSTEE_ACCESS;
390 386 alias OBJECTS_AND_NAME_W OBJECTS_AND_NAME_;
391 - static if (WINVER >= 0x501) {
387 + static if (_WIN32_WINNT >= 0x501) {
392 388 alias INHERITED_FROMW INHERITED_FROM;
393 389 }
394 390 } else {
395 391 alias TRUSTEEA TRUSTEE;
396 392 alias ACTRL_ACCESSA ACTRL_ACCESS;
397 393 alias ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST;
398 394 alias ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO;
399 395 alias ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY;
400 396 alias ACTRL_AUDITA ACTRL_AUDIT;
401 397 alias ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO;
402 398 alias EXPLICIT_ACCESSA EXPLICIT_ACCESS;
403 399 alias TRUSTEE_ACCESSA TRUSTEE_ACCESS;
404 400 alias OBJECTS_AND_NAME_A OBJECTS_AND_NAME_;
405 - static if (WINVER >= 0x501) {
401 + static if (_WIN32_WINNT >= 0x501) {
406 402 alias INHERITED_FROMA INHERITED_FROM;
407 403 }
408 404 }
409 405
410 406 alias TRUSTEE TRUSTEE_;
411 407 alias TRUSTEE* PTRUSTEE, PTRUSTEE_;
412 408 alias ACTRL_ACCESS* PACTRL_ACCESS;
................................................................................
415 411 alias ACTRL_ACCESS_ENTRY* PACTRL_ACCESS_ENTRY;
416 412 alias ACTRL_AUDIT* PACTRL_AUDIT;
417 413 alias ACTRL_CONTROL_INFO* PACTRL_CONTROL_INFO;
418 414 alias EXPLICIT_ACCESS EXPLICIT_ACCESS_;
419 415 alias EXPLICIT_ACCESS* PEXPLICIT_ACCESS, PEXPLICIT_ACCESS_;
420 416 alias TRUSTEE_ACCESS* PTRUSTEE_ACCESS;
421 417 alias OBJECTS_AND_NAME_* POBJECTS_AND_NAME_;
422 -static if (WINVER >= 0x501) {
418 +static if (_WIN32_WINNT >= 0x501) {
423 419 alias INHERITED_FROM* PINHERITED_FROM;
424 420 }