Please see below:
Roman Green said:
Try SetProcessShutdownParameters.
Quite confusing:
What's the highest I can go?
Can I set dwLevel to be 4FF? or higher?
I am going to use: SHUTDOWN_NORETRY for dwFlag, since I want my program to
respond to the "WM_QueryEndSession" in no time.
Parameters
dwLevel
[in] Shutdown priority for a process relative to other processes in the
system. The system shuts down processes from high dwLevel values to low. The
highest and lowest shutdown priorities are reserved for system components.
This parameter must be in the following range of values. Value Meaning
000-0FF System reserved last shutdown range.
100-1FF Application reserved last shutdown range.
200-2FF Application reserved "in between" shutdown range.
300-3FF Application reserved first shutdown range.
400-4FF System reserved first shutdown range.
All processes start at shutdown level 0x280.
dwFlags
[in] Flags. This parameter can be the following value. Value Meaning
SHUTDOWN_NORETRY
0x00000001 The system terminates the process without displaying a
retry dialog box for the user.