Seite 1 von 1

#THREAD_ALL_ACCESS -> falscher Wert?!

Verfasst: 11.08.2008 23:18
von Lukaso
Hallo,

ich habe vor paar Tagen meine PB Version geupdatet und bei meinem Großprojekt bemerkt das die Konstante #THREAD_ALL_ACCESS in der 4.20 integriert wurde. Alles schön und gut, Programm lief bei mir unter Vista wie unter 4.10. Allerdings haben meine Kollegen mit XP Fehler erhalten das OpenThread fehlschlägt wegen einem falschen Wert in der Konstante.

Code: Alles auswählen

#SYNCHRONIZE                = $100000
#STANDARD_RIGHTS_REQUIRED   = $F0000
#_THREAD_ALL_ACCESS         = #STANDARD_RIGHTS_REQUIRED | #SYNCHRONIZE | $3FF
Debug Hex(#THREAD_ALL_ACCESS)
Debug Hex(#_THREAD_ALL_ACCESS)
Ihr könnt mal den oben genannten Code ausprobieren, Vista hat damit keine Probleme allerdings weigert sich OpenThread mit der PB Konstante unter XP zu öffnen.

Grüße Lukas

Re: #THREAD_ALL_ACCESS -> falscher Wert?!

Verfasst: 14.08.2008 13:20
von Thorium
Jepp Problem, die Werte unterscheiden sich zwischen XP und Vista.

Siehe MSDN.
Windows Server 2003 and Windows XP/2000: The size of the THREAD_ALL_ACCESS flag increased on Windows Server 2008 and Windows Vista. If an application compiled for Windows Server 2008 and Windows Vista is run on Windows Server 2003 or Windows XP/2000, the THREAD_ALL_ACCESS flag is too large and the function specifying this flag fails with ERROR_ACCESS_DENIED. To avoid this problem, specify the minimum set of access rights required for the operation. If THREAD_ALL_ACCESS must be used, set _WIN32_WINNT to the minimum operating system targeted by your application (for example, #define _WIN32_WINNT _WIN32_WINNT_WINXP). For more information, see Using the Windows Headers.
Demnach sollte PB besser den alten Wert unterstützen: $1F03FF
Esseiden Fred will den XP-Support rauswerfen. ^^

Verfasst: 14.08.2008 13:40
von Kaeru Gaman
OHO!
Mega-wichtige Info.

...am besten auch mal im internationalen Forum posten, damit Fred das zur Kenntnis nehmen kann.