Could not start with RealTime priority via CreateProcess on WinXPSp2. On w2k3 server even any higher then normal priority value does not work.
This might be caused by the modification made on CreateProcess and mentioned by the MSDN entry at http://msdn2.microsoft.com/en-us/library/ms682425.aspx
lpProcessAttributes
[in] A pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be inherited by child processes. If lpProcessAttributes is NULL, the handle cannot be inherited.
The lpSecurityDescriptor member of the structure specifies a security descriptor for the new process. If lpProcessAttributes is NULL or lpSecurityDescriptor is NULL, the process gets a default security descriptor. The ACLs in the default security descriptor for a process come from the primary token of the creator.
Windows XP/2000/NT: The ACLs in the default security descriptor for a process come from the primary or impersonation token of the creator. This behavior changed with Windows XP SP2 and Windows Server 2003.
The solution might be that we use lpProcessAttributes especially on w2k3 where PROCESS_SET_INFORMATION required for process priority modification.
Logged In: YES
user_id=1191465
Originator: YES
The origin of the problem might be a stronger policy on w2k3 and vista not the lack of PROCESS_SET_INFORMATION access right.
We can add a startup priority param for launcher.exe and try to set directly the priority after the task started or the self priority of launcher.exe?!
Further examination required