Changes

Jump to navigation Jump to search
Line 30: Line 30:  
If launch_flags has mask 1 set, it sets mask 1 in process flags.
 
If launch_flags has mask 1 set, it sets mask 1 in process flags.
   −
If launch_flags flags has mask 0x10 set, it sets mask 8 in process flags.
+
If launch_flags has mask 0x10 set, it sets mask 8 in process flags.
    
If ((*(u8*) (info_output+2)) & 3) is == 1, it sets 0x40 in the process flags, and signals the event returned by [[#EnableDebug]]. svcStartProcess is not called in this case, it has to be done manually by the [[#StartProcess]] command.
 
If ((*(u8*) (info_output+2)) & 3) is == 1, it sets 0x40 in the process flags, and signals the event returned by [[#EnableDebug]]. svcStartProcess is not called in this case, it has to be done manually by the [[#StartProcess]] command.
 +
 +
If the title-id matches the title-id given in [[#EnableDebugForTitleId]], then svcStartProcess is not called. Instead process remains in suspended state, and has to be done manually by the [[#StartProcess]] command.
 +
 +
If launch_flags has mask 2 set, svcStartProcess is skipped.
    
Finally it does svcStartProcess on the process handle that was returned by [[Loader_services|ldr:pm]] CreateProcess, and sets process state to 2.
 
Finally it does svcStartProcess on the process handle that was returned by [[Loader_services|ldr:pm]] CreateProcess, and sets process state to 2.
  −
If the title-id matches the title-id given in [[#EnableDebugForTitleId]], then svcStartProcess is not called. Instead process remains in suspended state, and has to be done manually by the [[#StartProcess]] command.
      
Thus at the point of launch, the pid is already registered in ldr, fs, sm, and pm.
 
Thus at the point of launch, the pid is already registered in ldr, fs, sm, and pm.

Navigation menu