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 =