Applet Manager services: Difference between revisions
No edit summary |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 862: | Line 862: | ||
| 15 || [7.0.0+] [[#CreateApplicationWithAttributeAndRequestToStartForQuest]] || | | 15 || [7.0.0+] [[#CreateApplicationWithAttributeAndRequestToStartForQuest]] || | ||
|- | |- | ||
| 20 || EnsureSaveData || | | 20 || [[#EnsureSaveData]] || | ||
|- | |- | ||
| 21 || [[#GetDesiredLanguage]] || | | 21 || [[#GetDesiredLanguage]] || | ||
Line 974: | Line 974: | ||
Same as [[#CreateApplicationAndRequestToStartForQuest]] except the entire attributes structure is directly specified via the input buffer. This command replaces [[#CreateApplicationAndRequestToStartForQuest]], official user-processes no longer use [[#CreateApplicationAndPushAndRequestToStartForQuest]]. | Same as [[#CreateApplicationAndRequestToStartForQuest]] except the entire attributes structure is directly specified via the input buffer. This command replaces [[#CreateApplicationAndRequestToStartForQuest]], official user-processes no longer use [[#CreateApplicationAndPushAndRequestToStartForQuest]]. | ||
==== EnsureSaveData ==== | |||
Takes an input u128 userID, returns an output u64 size. | |||
Calls sdk func <code>nn::fs::EnsureApplicationSaveData</code>. [[qlaunch]] also calls this same sdk func directly. | |||
Creates the various savedata as specified by the application [[NACP_Format|control.nacp]] when the savedata doesn't exist. | |||
Official user-processes launch the dataErase LibraryApplet depending on the Result, the above output size is used with this. | |||
==== GetDesiredLanguage ==== | ==== GetDesiredLanguage ==== | ||
Line 1,110: | Line 1,119: | ||
==== GetPreviousProgramIndex ==== | ==== GetPreviousProgramIndex ==== | ||
No input, returns an output s32. | No input, returns an output s32. | ||
Gets the ProgramIndex of the Application which launched this title. The output ProgramIndex is -1 when there was no previous title. | |||
==== EnableApplicationAllThreadDumpOnCrash ==== | ==== EnableApplicationAllThreadDumpOnCrash ==== | ||
Line 2,709: | Line 2,720: | ||
! Description | ! Description | ||
|- | |- | ||
| 0 || u8 ProgramIndex. "ExecuteProgram". After using [[#ExecuteProgram]] with this successfully, official user-processes will enter an infinite loop with sleep-thread value 86400000000000. | | 0 || u8 ProgramIndex. "ExecuteProgram". [[NS_Services|NS]] handles ProgramIndex by launching titleID {application_titleID}+ProgramIndex. After using [[#ExecuteProgram]] with this successfully, official user-processes will enter an infinite loop with sleep-thread value 86400000000000. | ||
|- | |- | ||
| 1 || u64 titleID. "JumpToSubApplicationProgramForDevelopment". Only available when [[Settings_services#GetDebugModeFlag|DebugMode]] is 1. | | 1 || u64 titleID. "JumpToSubApplicationProgramForDevelopment". Only available when [[Settings_services#GetDebugModeFlag|DebugMode]] is 1. | ||
Line 2,718: | Line 2,729: | ||
This is "nn::am::service::ProgramSpecifyKind". This controls the type of the u64 passed to [[#ExecuteProgram]]. | This is "nn::am::service::ProgramSpecifyKind". This controls the type of the u64 passed to [[#ExecuteProgram]]. | ||
ProgramIndex values where the title is not installed should not be used: [[qlaunch]] will display an error message and the current title will become "corrupted", however Home Menu will have an option to repair it. | |||
= AppletResourceUserId = | = AppletResourceUserId = |