Process Manager services: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
= LaunchFlags = | |||
{| class=wikitable | |||
! Bit || Mask || Name | |||
|- | |||
| 0 || 1 || LaunchFlags_NotifyWhenExited | |||
|- | |||
| 1 || 2 || LaunchFlags_StartSuspended | |||
|- | |||
| 2 || 4 || | |||
|- | |||
| 3 || 8 || | |||
|- | |||
| 4 || 0x10 || LaunchFlags_NotifyDebugEvents | |||
|- | |||
| 5 || 0x20 || [2.0.0+] LaunchFlags_NotifyDebugSpecial | |||
|} | |||
= Process Tracker thread = | = Process Tracker thread = | ||
PM has a separate thread that is waiting for synchronization on process handles. | PM has a separate thread that is waiting for synchronization on process handles. | ||
Line 23: | Line 41: | ||
It uses [[Loader_services|ldr:pm]] GetProgramInfo with the supplied title-id. | It uses [[Loader_services|ldr:pm]] GetProgramInfo with the supplied title-id. | ||
If ApplicationType == Application, it goes through the process list and errors if any has | If ApplicationType == Application, it goes through the process list and errors if any has mask 0x40 set. Thus you can only run one Application at a time. | ||
Resource limits for the process is selected by ApplicationType. | Resource limits for the process is selected by ApplicationType. | ||
Line 163: | Line 181: | ||
Returns 2 if flags has mask 1 set and state is 6. | Returns 2 if flags has mask 1 set and state is 6. | ||
Returns 3 if flags has mask 0x10 set and not | Returns 3 if flags has mask 0x10 set and not 0x20. | ||
Returns 4 if flags has mask 0x30 set. | Returns 4 if flags has mask 0x30 set. |