NS services: Difference between revisions
(4 intermediate revisions by 2 users not shown) | |||
Line 615: | Line 615: | ||
| 93 || [5.0.0+] GetMainApplicationProgramIndex | | 93 || [5.0.0+] GetMainApplicationProgramIndex | ||
|- | |- | ||
| 94 || [6.0.0+] LaunchApplication | | 94 || [6.0.0+] [[#LaunchApplication_2|LaunchApplication]] | ||
|- | |- | ||
| 95 || [6.0.0+] GetApplicationLaunchInfo | | 95 || [6.0.0+] [[#GetApplicationLaunchInfo]] | ||
|- | |- | ||
| 96 || [6.0.0+] AcquireApplicationLaunchInfo | | 96 || [6.0.0+] [[#AcquireApplicationLaunchInfo]] | ||
|- | |- | ||
| 97 || [6.0.0+] GetMainApplicationProgramIndexByApplicationLaunchInfo | | 97 || [6.0.0+] GetMainApplicationProgramIndexByApplicationLaunchInfo | ||
Line 657: | Line 657: | ||
| 301 || PopApplicationShellEventInfo | | 301 || PopApplicationShellEventInfo | ||
|- | |- | ||
| 302 || LaunchLibraryApplet | | 302 || [[#LaunchLibraryApplet]] | ||
|- | |- | ||
| 303 || TerminateLibraryApplet | | 303 || TerminateLibraryApplet | ||
|- | |- | ||
| 304 || LaunchSystemApplet | | 304 || [[#LaunchSystemApplet]] | ||
|- | |- | ||
| 305 || TerminateSystemApplet | | 305 || TerminateSystemApplet | ||
|- | |- | ||
| 306 || LaunchOverlayApplet | | 306 || [[#LaunchOverlayApplet]] | ||
|- | |- | ||
| 307 || TerminateOverlayApplet | | 307 || TerminateOverlayApplet | ||
Line 903: | Line 903: | ||
| 2155 || [7.0.0+] UpdateRightsEnvironmentStatus | | 2155 || [7.0.0+] UpdateRightsEnvironmentStatus | ||
|- | |- | ||
| 2156 || [9.0.0 | | 2156 || [10.0.0+] CreateRightsEnvironmentForMicroApplication ([9.0.0-9.2.0] CreateRightsEnvironmentForPreomia) | ||
|- | |- | ||
| 2160 || [6.0.0+] AddTargetApplicationToRightsEnvironment | | 2160 || [6.0.0+] AddTargetApplicationToRightsEnvironment | ||
Line 955: | Line 955: | ||
| 2511 || [9.0.0+] [[#GetApplicationResource]] | | 2511 || [9.0.0+] [[#GetApplicationResource]] | ||
|- | |- | ||
| 2513 || [9.0.0 | | 2513 || [10.0.0+] LaunchMicroApplication ([9.0.0-9.2.0] LaunchPreomia) | ||
|- | |- | ||
| 2514 || [9.0.0+] ClearTaskOfAsyncTaskManager | | 2514 || [9.0.0+] ClearTaskOfAsyncTaskManager | ||
Line 1,060: | Line 1,060: | ||
See [[#RequestApplicationUpdateInfo]] regarding nifm. | See [[#RequestApplicationUpdateInfo]] regarding nifm. | ||
==== LaunchApplication ==== | |||
Takes an input u8 ProgramIndex, an input [[#ApplicationLaunchInfo]], returns an output u64. | |||
==== GetApplicationLaunchInfo ==== | |||
Takes an input [[NCM_services#ApplicationId|ApplicationId]], returns an output [[#ApplicationLaunchInfo]]. | |||
==== AcquireApplicationLaunchInfo ==== | |||
Takes an input [[NCM_services#ApplicationId|ApplicationId]], returns an output [[#ApplicationLaunchInfo]]. | |||
This verifies that a state flag is set and that a state field matches the input ApplicationId, throwing an error otherwise. The [[#ApplicationLaunchInfo]] from state is copied to output, then the state flag is cleared. | |||
==== LaunchDevMenu ==== | ==== LaunchDevMenu ==== | ||
Line 1,070: | Line 1,081: | ||
[[NCM_services#ncm|OpenContentMetaDatabase]] is used with StorageId = NandSystem, then IContentMetaDatabase GetLatestContentMetaKey is used with both of the above ProgramIds to verify that the cmd is successful. | [[NCM_services#ncm|OpenContentMetaDatabase]] is used with StorageId = NandSystem, then IContentMetaDatabase GetLatestContentMetaKey is used with both of the above ProgramIds to verify that the cmd is successful. | ||
Then if the above succeeds, the above titles are launched with the above StorageId via [[Process_Manager_services|pmshell]] LaunchProgram, with a 0.5s sleep-thread afterwards on success. | Then if the above succeeds, the above titles are launched with the above StorageId via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0), with a 0.5s sleep-thread afterwards on success. [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0xB is used here. | ||
==== DeleteUserSaveDataAll ==== | ==== DeleteUserSaveDataAll ==== | ||
Line 1,088: | Line 1,099: | ||
==== UnregisterNetworkServiceAccountWithUserSaveDataDeletion ==== | ==== UnregisterNetworkServiceAccountWithUserSaveDataDeletion ==== | ||
Takes an input [[Account_services#Uid|Uid]], no output. | Takes an input [[Account_services#Uid|Uid]], no output. | ||
==== LaunchLibraryApplet ==== | |||
Takes an input u64 [[NCM_services#ProgramId|ProgramId]], returns an output u64. | |||
The specified program is launched with StorageId=BuiltInSystem via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0). [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0x9 is used here. The output u64 from here is written to the output for this cmd, on success. | |||
This is used by [[Applet_Manager_services|AM]]. | |||
==== LaunchSystemApplet ==== | |||
No input, returns an output u64. | |||
A state flag must be zero, otherwise an error is thrown. When a state field is value 1, a hard-coded ProgramId for MaintenanceMenu is used. Otherwise, the ProgramId is loaded from [[System_Settings|system-setting]] <code>ns.applet!system_applet_id</code>. | |||
The SystemApplet is launched with StorageId=BuiltInSystem via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0). [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0x9 is used here. The output u64 from here is written to the output for this cmd, on success. | |||
This is used by [[Applet_Manager_services|AM]]. | |||
==== LaunchOverlayApplet ==== | |||
No input, returns an output u64. | |||
A state flag must be zero, otherwise an error is thrown. The ProgramId is loaded from [[System_Settings|system-setting]] <code>ns.applet!overlay_applet_id</code>. | |||
The OverlayApplet is launched with StorageId=BuiltInSystem via [[Process_Manager_services|pmshell]] LaunchProgram ([10.0.0+] [[PGL_services#LaunchProgram|pgl]] with pgl_launch_flags=0). [[Process_Manager_services#LaunchFlags|LaunchFlags]] value 0x9 is used here. The output u64 from here is written to the output for this cmd, on success. | |||
This is used by [[Applet_Manager_services|AM]]. | |||
==== RequestDownloadApplicationControlData ==== | ==== RequestDownloadApplicationControlData ==== | ||
Line 2,570: | Line 2,606: | ||
= DownloadTaskStatus = | = DownloadTaskStatus = | ||
This is "nn::ns::DownloadTaskStatus". This is a 0x20-byte struct. | This is "nn::ns::DownloadTaskStatus". This is a 0x20-byte struct. | ||
= ApplicationLaunchInfo = | |||
This is a 0x40-byte struct. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 || 0x8 || [[NCM_services#ApplicationId|ApplicationId]] | |||
|- | |||
| 0x8 || 0x4 || Application version | |||
|- | |||
| 0xC || 0x4 || [[Process_Manager_services#LaunchFlags|LaunchFlags]], set to hard-coded value 0xB by [[#GetApplicationLaunchInfo]]. | |||
|- | |||
| 0x10 || 0x1 || Application [[NCM_services#StorageId|StorageId]] | |||
|- | |||
| 0x11 || 0x1 || Update [[NCM_services#StorageId|StorageId]] | |||
|- | |||
| 0x12 || 0x2E || | |||
|} | |||
[[Category:Services]] | [[Category:Services]] |