I have a question regarding priorities on XP and NT.
I try to use XP for a soft real time system, and experience difficulties
controlling thread priorities.
I believe this is the same behaviour as on NT, but I'm not sure.
I run one single process containing quite a few threads.
If I run the process at NORMAL_PRIORITY_CLASS, the threads seem to get
different priorities as expected, where e.g THREAD_PRIORITY_TIME_CRITICAL is
higher than THREAD_PRIORITY_HIGHEST.
However, if I set the priority class of the process to HIGH_PRIORITY_CLASS,
I end up with fewer thread priority levels, as it seems like the lower
levels are increased, but the highest level is still 15 (as would be
expected from the documentation).
If I set the base priority class to REALTIME_PRIORITY_CLASS, I end up with
only two effective thread priority levels, 16 and 19.
I have been unable to find any documentation of this behaviour. It's
contrary to all descriptions I have found. I have trued to run my process
both as diffreent users, both with and without Administrator priviledges,
but I seem to be unable to set utilize all priority levels.
Do you have any experience in this matter? Is there a Win32 call I must do
to enable this? Is my process started with incorrect attributes or access
Any explanetion or even better, a description on how to obtain what I need,
would be highly appreciated.