Changes

Jump to navigation Jump to search
==== PopRequestLaunchApplicationForDebug ====
Takes a type-0x6 output buffer containing an array of u128 userIDs, returns an output u64 titleID (<code>nn::ncm::[[NCM_services#ApplicationId</code>) |ApplicationId]] and an output s32 '''total_userIDs'''.
The total entries in the userID buffer must be >= {total userIDs in state}.
==== CreateApplication ====
Takes an input u64 titleID (<code>nn::ncm::[[NCM_services#ApplicationId</code>)|ApplicationId]], returns an [[#IApplicationAccessor]].
==== PopLaunchRequestedApplication ====
==== CreateSystemApplication ====
Takes an input u64 titleID (<code>nn::ncm::[[NCM_services#ApplicationId|SystemApplicationId</code>)]], returns an [[#IApplicationAccessor]].
[[qlaunch]] only uses this with a hard-coded titleID id for the "starter" title.
==== PopFloatingApplicationForDevelopment ====
===== GetApplicationId =====
No input, returns an output u64 titleID. Gets the Application titleID[[NCM_services#ApplicationId|ApplicationId]].
===== PushLaunchParameter =====
===== HasSaveDataAccessPermission =====
Takes an input u64 titleID[[NCM_services#ApplicationId|ApplicationId]], returns an output u8 bool flag.
Gets whether the savedata specified by the input titleID ApplicationId is accessible. The output flag indicates whether it's accessible.
If the titleID ApplicationId matches the current application titleID, this immediately returns success with flag=1.
===== PushToFriendInvitationStorageChannel =====
Clears the Notification StorageChannel, then pushes the input storage there.
 
[[qlaunch]] will only push data for this when launching the Application when the Alarm was triggered, where the system was previously in sleep-mode. This data is the [[Glue_services|Notification]] ApplicationParameter.
===== IAppletAccessor =====
==== GetCurrentApplicationId ====
No input, returns an output u64[[NCM_services#ApplicationId|ApplicationId]].
Gets the titleID [[NCM_services#ApplicationId|ApplicationId]] for the currently running Application. titleIDApplicationId=0 when no Application is running.
==== RequestExitToSelf ====
==== CreateApplicationAndPushAndRequestToLaunch ====
Takes an input u64 titleID [[NCM_services#ApplicationId|ApplicationId]] and an input #IStorage, no output.
This is is similar to [[#CreateApplicationAndPushAndRequestToStart]].
==== GetApplicationIdForLogo ====
No input, returns an output u64 titleID[[NCM_services#ApplicationId|ApplicationId]].
Gets the application titleID ApplicationId for displaying the logo screen during application launch.
When no application is running, this returns success with titleIDApplicationId=0.
==== SetGpuTimeSliceBoost ====
==== CreateApplicationAndPushAndRequestToStart ====
Takes an input u64 titleID [[NCM_services#ApplicationId|ApplicationId]] and an input [[#IStorage]], no output. titleIDApplicationId=0 can be used to relaunch the current application.
==== CreateApplicationAndPushAndRequestToStartForQuest ====
Takes 2 input u32s (loaded from struct [[#ApplicationAttributeForQuest]]), an input u64 titleID[[NCM_services#ApplicationId|ApplicationId]], and an input [[#IStorage]], no output.
==== CreateApplicationAndRequestToStart ====
Takes an input u64 titleID[[NCM_services#ApplicationId|ApplicationId]], no output.
Same as [[#CreateApplicationAndPushAndRequestToStart]] except without the input storage, official sw uses this when no input storage is specified.
==== CreateApplicationAndRequestToStartForQuest ====
Takes 2 input u32s (loaded from struct [[#ApplicationAttributeForQuest]]) and an input u64 titleID[[NCM_services#ApplicationId|ApplicationId]], no output.
Same as [[#CreateApplicationAndPushAndRequestToStartForQuest]] except without the input storage, official sw uses this when no input storage is specified.
==== CreateApplicationWithAttributeAndPushAndRequestToStartForQuest ====
Takes an input u64 titleID[[NCM_services#ApplicationId|ApplicationId]], a type-0x15 input buffer containing an [[#ApplicationAttribute]], an input [[#IStorage]], no output.
Same as [[#CreateApplicationAndPushAndRequestToStartForQuest]] except the entire attributes structure is directly specified via the input buffer. This command replaces [[#CreateApplicationAndPushAndRequestToStartForQuest]], official user-processes no longer use [[#CreateApplicationAndPushAndRequestToStartForQuest]].
==== CreateApplicationWithAttributeAndRequestToStartForQuest ====
Takes an input u64 titleID [[NCM_services#ApplicationId|ApplicationId]] and a type-0x15 input buffer containing an [[#ApplicationAttribute]], no output.
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]].
==== QueryApplicationPlayStatistics ====
Takes a type-0x6 output buffer containing an array of [[Shared_Database_services|ApplicationPlayStatistics]] and a type-0x5 input buffer containing an array of u64 titleIDs[[NCM_services#ApplicationId|ApplicationId]]. Returns an output s32 for actual total output entries.
The number of entries in each array is the same.
==== QueryApplicationPlayStatisticsByUid ====
Takes a u128 userID, a type-0x6 output buffer containing an array of [[Shared_Database_services|ApplicationPlayStatistics]] and a type-0x5 input buffer containing an array of u64 titleIDs[[NCM_services#ApplicationId|ApplicationId]]. Returns an output s32 for actual total output entries.
Same as [[#QueryApplicationPlayStatistics]] except this uses [[Shared_Database_services|pdm:qry]] cmd16, to get playstats specific to userIDs.
|-
| 91 || [7.0.0+] [[#GetCurrentPerformanceConfiguration]] ||
|-
| 100 || [9.1.0+] [[#SetHandlingHomeButtonShortPressedEnabled]] ||
|-
| 200 || [7.0.0+] [[#GetOperationModeSystemInfo]] ||
=== GetApplicationIdByContentActionName ===
Takes a type-0x5 input buffer containing a string, returns an output u64 titleID[[NCM_services#ApplicationId|ApplicationId]].
Gets the application titleID ApplicationId for the specified ContentActionName string. Returns an error when the current [[#AppletId]] isn't 0x04 (when the current applet isn't a SystemApplication).
=== SetCpuBoostMode ===
=== RequestLaunchApplicationWithUserAndArgumentForDebug ===
Takes an input u8 bool flag, an u64 Application titleID[[NCM_services#ApplicationId|ApplicationId]], a type-0x5 input buffer containing an array of u128 userIDs, and a type-0x5 input buffer, no output.
Requests to launch the specified Application, with the specified users. When the bool flag is true, the content of the second input buffer is used to create a storage which is pushed to the UserChannel for this Application (see [[#LaunchParameterKind]]).
The cached value loaded from [[Settings_services#GetDebugModeFlag]] must be 1, otherwise an error is returned.
The s32 must match the value already stored in state when the state value is non-zero, otherwise an error is returned. When the state value is 0, the s32 is written into state. Then the input storage is pushed to the StorageChannel.
=== TryPopFromAppletBoundChannelForDebug ===
=== AlarmSettingNotificationEnableAppEventReserve ===
Takes an input [[#IStorage]] and an u64 <code>nn::ncm::[[NCM_services#ApplicationId</code>|ApplicationId]], no output.
Clears a StorageChannel, pushes the input storage there, and writes the ApplicationId into state.
=== FriendInvitationSetApplicationParameter ===
Takes an input [[#IStorage]] and an u64 <code>nn::ncm::[[NCM_services#ApplicationId</code>|ApplicationId]], no output.
Clears a StorageChannel, pushes the input storage there, and writes the ApplicationId into state.
| 0x0C
| 0100000000001003
| [[Controller_Applet| "controller"]]
|-
| 0x0D
! Description
|-
| 0 || u8 ProgramIndex. "ExecuteProgram". [[NS_Services|NS]] handles ProgramIndex by launching titleID {application_titleID}ApplicationId+ProgramIndex. After using [[#ExecuteProgram]] with this successfully, official user-processes will enter an infinite loop with sleep-thread value 86400000000000.
|-
| 1 || u64 titleID[[NCM_services#ApplicationId|ApplicationId]]. "JumpToSubApplicationProgramForDevelopment". Only available when [[Settings_services#GetDebugModeFlag|DebugMode]] is 1.
|-
| 2 || u64 = value 0. "RestartProgram"
| 0x4 || 0x4 || Padding
|-
| 0x8 || 0x8 || titleID[[NCM_services#ApplicationId|ApplicationId]]
|}
! Offset || Size || Description
|-
| 0x0 || 0x8 || Application titleID.[[NCM_services#ApplicationId|ApplicationId]]
|-
| 0x8 || 0x4 || Application title-version.

Navigation menu