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 bit 0x40 set. Thus you can only run one Application at a time. | + | 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 bit5. | + | 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. |