Difference between revisions of "Account services"
(69 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
= acc:su = | = acc:su = | ||
This is "nn::account::IAccountServiceForAdministrator". | This is "nn::account::IAccountServiceForAdministrator". | ||
+ | |||
+ | This was moved to [[NS_Services|ns]] with [13.0.0+]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 18: | Line 20: | ||
| 5 || GetProfile || Returns an [[#IProfile]]. | | 5 || GetProfile || Returns an [[#IProfile]]. | ||
|- | |- | ||
− | | 6 || GetProfileDigest || | + | | 6 || [3.0.0+] GetProfileDigest || |
+ | |- | ||
+ | | 50 || [[#IsUserRegistrationRequestPermitted]] || | ||
+ | |- | ||
+ | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) || | ||
|- | |- | ||
− | | | + | | 52 || [19.0.0+] TrySelectUserWithoutInteraction || |
|- | |- | ||
− | | | + | | 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers || |
|- | |- | ||
− | | | + | | 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]]. |
|- | |- | ||
| 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]]. | | 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]]. | ||
Line 37: | Line 43: | ||
|- | |- | ||
| 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. | | 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 106 || [9.0.0+] GetProfileSyncNotifier || | ||
|- | |- | ||
| 110 || StoreSaveDataThumbnail || | | 110 || StoreSaveDataThumbnail || | ||
Line 44: | Line 52: | ||
| 112 || LoadSaveDataThumbnail || | | 112 || LoadSaveDataThumbnail || | ||
|- | |- | ||
− | | 113 || GetSaveDataThumbnailExistence || | + | | 113 || [5.0.0+] GetSaveDataThumbnailExistence || |
+ | |- | ||
+ | | 120 || [10.0.0+] ListOpenUsersInApplication || | ||
+ | |- | ||
+ | | 130 || [6.0.0+] ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 140 || [6.0.0+] ListQualifiedUsers || | ||
+ | |- | ||
+ | | 150 || [10.0.0-10.2.0] AuthenticateApplicationAsync || | ||
+ | |- | ||
+ | | 151 || [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync || | ||
+ | |- | ||
+ | | 152 || [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount || | ||
|- | |- | ||
− | | 190 || GetUserLastOpenedApplication || | + | | 190 || [1.0.0-9.2.0] GetUserLastOpenedApplication || |
|- | |- | ||
− | | 191 || [5.0.0 | + | | 191 || [7.0.0+] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) || |
|- | |- | ||
| 200 || BeginUserRegistration || | | 200 || BeginUserRegistration || | ||
Line 60: | Line 80: | ||
| 204 || SetUserPosition || | | 204 || SetUserPosition || | ||
|- | |- | ||
− | | 205 || GetProfileEditor || | + | | 205 || GetProfileEditor || Takes an input userID and returns an [[#IProfileEditor]]. |
|- | |- | ||
| 206 || CompleteUserRegistrationForcibly || | | 206 || CompleteUserRegistrationForcibly || | ||
|- | |- | ||
− | | 210 || CreateFloatingRegistrationRequest || Returns an [[#IFloatingRegistrationRequest]]. | + | | 210 || [3.0.0+] CreateFloatingRegistrationRequest || Returns an [[#IFloatingRegistrationRequest]]. |
+ | |- | ||
+ | | 211 || [8.0.0+] CreateProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x4-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]]. | ||
+ | |- | ||
+ | | 212 || [8.0.0+] ResumeProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x14-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]]. | ||
+ | |- | ||
+ | | 213 || [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount || | ||
+ | |- | ||
+ | | 214 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount || | ||
+ | |- | ||
+ | | 215 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse || | ||
|- | |- | ||
| 230 || AuthenticateServiceAsync || Returns an [[#IAsyncContext]]. | | 230 || AuthenticateServiceAsync || Returns an [[#IAsyncContext]]. | ||
Line 70: | Line 100: | ||
| 250 || GetBaasAccountAdministrator || Returns an [[#IAdministrator]]. | | 250 || GetBaasAccountAdministrator || Returns an [[#IAdministrator]]. | ||
|- | |- | ||
− | | 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. | + | | 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]] (formerly [[#IOAuthProcedureForGuestLogin]] with [1.0.0-2.3.0]). |
|- | |- | ||
− | | 291 || ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. | + | | 291 || [3.0.0+] ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. |
|- | |- | ||
| 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]]. | | 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]]. | ||
|- | |- | ||
− | | 997 || DebugInvalidateTokenCacheForUser || | + | | 400 || [18.0.0+] SetPinCode || |
+ | |- | ||
+ | | 401 || [18.0.0+] GetPinCodeLength || | ||
+ | |- | ||
+ | | 402 || [18.0.0+] GetPinCode || | ||
+ | |- | ||
+ | | 410 || [18.0.0+] GetPinCodeErrorCount || | ||
+ | |- | ||
+ | | 411 || [18.0.0+] ResetPinCodeErrorCount || | ||
+ | |- | ||
+ | | 412 || [18.0.0+] IncrementPinCodeErrorCount || | ||
+ | |- | ||
+ | | 420 || [19.0.0+] SetStartPenaltyTime || | ||
+ | |- | ||
+ | | 421 || [19.0.0+] GetStartPenaltyTime || | ||
+ | |- | ||
+ | | 900 || [13.0.0+] SetUserUnqualifiedForDebug || | ||
+ | |- | ||
+ | | 901 || [13.0.0+] UnsetUserUnqualifiedForDebug || | ||
+ | |- | ||
+ | | 902 || [13.0.0+] ListUsersUnqualifiedForDebug || | ||
+ | |- | ||
+ | | 910 || [16.0.0+] RefreshFirmwareSettingsForDebug || | ||
+ | |- | ||
+ | | 997 || [3.0.0+] DebugInvalidateTokenCacheForUser || | ||
|- | |- | ||
| 998 || DebugSetUserStateClose || | | 998 || DebugSetUserStateClose || | ||
Line 82: | Line 136: | ||
| 999 || DebugSetUserStateOpen || | | 999 || DebugSetUserStateOpen || | ||
|} | |} | ||
+ | |||
+ | [10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input. | ||
+ | |||
+ | == IsUserRegistrationRequestPermitted == | ||
+ | Takes a PID, an input u64 pid_reserved, and returns an output u8 bool. | ||
+ | |||
+ | == TrySelectUserWithoutInteraction == | ||
+ | Takes an input u8 bool isNetworkServiceAccountRequired, returns an output Uid. | ||
== IManagerForSystemService == | == IManagerForSystemService == | ||
Line 99: | Line 161: | ||
|- | |- | ||
| 100 || SetSystemProgramIdentification || | | 100 || SetSystemProgramIdentification || | ||
+ | |- | ||
+ | | 101 || [7.0.0+] RefreshNotificationTokenAsync || | ||
|- | |- | ||
| 110 || [4.0.0+] GetServiceEntryRequirementCache || | | 110 || [4.0.0+] GetServiceEntryRequirementCache || | ||
Line 104: | Line 168: | ||
| 111 || [4.0.0+] InvalidateServiceEntryRequirementCache || | | 111 || [4.0.0+] InvalidateServiceEntryRequirementCache || | ||
|- | |- | ||
− | | 112 || [4.0.0+] | + | | 112 || [4.0.0-6.2.0] InvalidateTokenCache || |
+ | |- | ||
+ | | 113 || [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | ||
|- | |- | ||
| 120 || GetNintendoAccountId || | | 120 || GetNintendoAccountId || | ||
+ | |- | ||
+ | | 121 || [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint || | ||
|- | |- | ||
| 130 || GetNintendoAccountUserResourceCache || | | 130 || GetNintendoAccountUserResourceCache || | ||
Line 113: | Line 181: | ||
|- | |- | ||
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | | 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 133 || [9.0.0+] GetNintendoAccountVerificationUrlCache || | ||
+ | |- | ||
+ | | 134 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync || | ||
+ | |- | ||
+ | | 135 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed || | ||
|- | |- | ||
| 140 || [5.0.0+] GetNetworkServiceLicenseCache || | | 140 || [5.0.0+] GetNetworkServiceLicenseCache || | ||
Line 121: | Line 195: | ||
|- | |- | ||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]]. | | 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]]. | ||
+ | |- | ||
+ | | 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache || | ||
+ | |- | ||
+ | | 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount || | ||
+ | |- | ||
+ | | 170 || [17.0.0+] CreateDeviceHistoryRequest || | ||
+ | |- | ||
+ | | 180 || [18.0.0+] GetRequestForNintendoAccountReauthentication || | ||
|} | |} | ||
== IFloatingRegistrationRequest == | == IFloatingRegistrationRequest == | ||
This is "nn::account::baas::IFloatingRegistrationRequest". | This is "nn::account::baas::IFloatingRegistrationRequest". | ||
+ | |||
+ | Added with [3.0.0+]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 168: | Line 252: | ||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | | 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | ||
|- | |- | ||
− | | 3 || LoadIdTokenCache || | + | | 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) || |
+ | |- | ||
+ | | 4 || [19.0.0+] LoadIdTokenCache || | ||
|- | |- | ||
| 100 || SetSystemProgramIdentification || | | 100 || SetSystemProgramIdentification || | ||
+ | |- | ||
+ | | 101 || [7.0.0+] RefreshNotificationTokenAsync | ||
|- | |- | ||
| 110 || [4.0.0+] GetServiceEntryRequirementCache || | | 110 || [4.0.0+] GetServiceEntryRequirementCache || | ||
Line 176: | Line 264: | ||
| 111 || [4.0.0+] InvalidateServiceEntryRequirementCache || | | 111 || [4.0.0+] InvalidateServiceEntryRequirementCache || | ||
|- | |- | ||
− | | 112 || [4.0.0+] | + | | 112 || [4.0.0-6.2.0] InvalidateTokenCache || |
+ | |- | ||
+ | | 113 || [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | ||
|- | |- | ||
| 120 || GetNintendoAccountId || | | 120 || GetNintendoAccountId || | ||
+ | |- | ||
+ | | 121 || [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint || | ||
|- | |- | ||
| 130 || GetNintendoAccountUserResourceCache || | | 130 || GetNintendoAccountUserResourceCache || | ||
Line 185: | Line 277: | ||
|- | |- | ||
| 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | | 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 133 || [9.0.0+] GetNintendoAccountVerificationUrlCache || | ||
+ | |- | ||
+ | | 134 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync || | ||
+ | |- | ||
+ | | 135 || [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed || | ||
+ | |- | ||
+ | | 136 || [19.0.0+] GetNintendoAccountUserResourceCache || | ||
|- | |- | ||
| 140 || [5.0.0+] GetNetworkServiceLicenseCache || | | 140 || [5.0.0+] GetNetworkServiceLicenseCache || | ||
Line 191: | Line 291: | ||
|- | |- | ||
| 142 || [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed || | | 142 || [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed || | ||
+ | |- | ||
+ | | 143 || [15.0.0+] GetNetworkServiceLicenseCacheEx || | ||
|- | |- | ||
| 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]]. | | 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]]. | ||
+ | |- | ||
+ | | 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache || | ||
+ | |- | ||
+ | | 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount || | ||
+ | |- | ||
+ | | 180 || [18.0.0+] GetRequestForNintendoAccountReauthentication || | ||
|- | |- | ||
| 200 || IsRegistered || | | 200 || IsRegistered || | ||
Line 201: | Line 309: | ||
|- | |- | ||
| 203 || DeleteRegistrationInfoLocally || | | 203 || DeleteRegistrationInfoLocally || | ||
+ | |- | ||
+ | | 204 || [19.0.0+] UnregisterDeviceAsync || | ||
|- | |- | ||
| 220 || SynchronizeProfileAsync || Returns an [[#IAsyncContext]]. | | 220 || SynchronizeProfileAsync || Returns an [[#IAsyncContext]]. | ||
Line 207: | Line 317: | ||
|- | |- | ||
| 222 || SynchronizeProfileAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | | 222 || SynchronizeProfileAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 223 || [19.0.0+] DownloadProfileAsync || | ||
|- | |- | ||
| 250 || IsLinkedWithNintendoAccount || | | 250 || IsLinkedWithNintendoAccount || | ||
Line 218: | Line 330: | ||
| 256 || ResumeProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]]. | | 256 || ResumeProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]]. | ||
|- | |- | ||
− | | 260 || CreateProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]]. | + | | 260 || [3.0.0+] CreateProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]]. |
|- | |- | ||
− | | 261 || ResumeProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]]. | + | | 261 || [3.0.0+] ResumeProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]]. |
|- | |- | ||
| 280 || ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount || Returns an [[#IOAuthProcedure]]. | | 280 || ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount || Returns an [[#IOAuthProcedure]]. | ||
+ | |- | ||
+ | | 290 || [8.0.0+] GetRequestForNintendoAccountUserResourceView || | ||
+ | |- | ||
+ | | 300 || [6.0.0+] TryRecoverNintendoAccountUserStateAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 400 || [6.1.0+] IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay || Takes a total of 0x8-bytes of input, returns an output u8. | ||
+ | |- | ||
+ | | 401 || [6.1.0+] RefreshServiceEntryRequirementCacheForOnlinePlayAsync || Takes a total of 0x8-bytes of input, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 900 || [9.0.0+] GetAuthenticationInfoForWin || | ||
+ | |- | ||
+ | | 901 || [9.0.0+] ImportAsyncForWin || | ||
|- | |- | ||
| 997 || DebugUnlinkNintendoAccountAsync || Returns an [[#IAsyncContext]]. | | 997 || DebugUnlinkNintendoAccountAsync || Returns an [[#IAsyncContext]]. | ||
Line 269: | Line 393: | ||
== IOAuthProcedureForExternalNsa == | == IOAuthProcedureForExternalNsa == | ||
This is "nn::account::nas::IOAuthProcedureForExternalNsa". | This is "nn::account::nas::IOAuthProcedureForExternalNsa". | ||
+ | |||
+ | Added with [3.0.0+]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 291: | Line 417: | ||
|- | |- | ||
| 103 || GetProfileImage || | | 103 || GetProfileImage || | ||
+ | |- | ||
+ | | 104 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]] || | ||
+ | |- | ||
+ | | 1000 || [19.0.0+] GetRequestForMoving || | ||
|} | |} | ||
+ | |||
+ | === GetProfileLargeImage === | ||
+ | Takes a type-0x6 output buffer, returns an output u32. | ||
+ | |||
+ | As of 18.0.0 this is stubbed, this eventually returns Result 0x167C. | ||
== IOAuthProcedureForNintendoAccountLinkage == | == IOAuthProcedureForNintendoAccountLinkage == | ||
Line 314: | Line 449: | ||
| 101 || IsNetworkServiceAccountReplaced || | | 101 || IsNetworkServiceAccountReplaced || | ||
|- | |- | ||
− | | 199 || GetUrlForIntroductionOfExtraMembership || | + | | [2.0.0-5.1.0] 199 || GetUrlForIntroductionOfExtraMembership || |
|} | |} | ||
Line 334: | Line 469: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || Get | + | | 0 || [[#Get]] |
|- | |- | ||
| 1 || [[#GetBase]] | | 1 || [[#GetBase]] | ||
Line 342: | Line 477: | ||
| 11 || [[#LoadImage]] | | 11 || [[#LoadImage]] | ||
|} | |} | ||
+ | |||
+ | === Get === | ||
+ | Takes an output type-0x1A buffer for [[#UserData]], returns an output [[#ProfileBase]]. | ||
=== GetBase === | === GetBase === | ||
− | No input, returns an output [[#ProfileBase]] | + | No input, returns an output [[#ProfileBase]]. |
=== GetImageSize === | === GetImageSize === | ||
Line 352: | Line 490: | ||
Takes an output type-0x6 buffer, returns the same output u32 as [[#GetImageSize]]. | Takes an output type-0x6 buffer, returns the same output u32 as [[#GetImageSize]]. | ||
− | The output buffer contains the JPEG profile image icon. | + | The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons. |
== IProfileEditor == | == IProfileEditor == | ||
Line 361: | Line 499: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || Get | + | | 0 || [[#Get]] |
|- | |- | ||
− | | 1 || GetBase | + | | 1 || [[#GetBase]] |
|- | |- | ||
− | | 10 || GetImageSize | + | | 10 || [[#GetImageSize]] |
|- | |- | ||
− | | 11 || LoadImage | + | | 11 || [[#LoadImage]] |
|- | |- | ||
− | | 100 || Store | + | | 100 || [[#Store]] |
|- | |- | ||
− | | 101 || StoreWithImage | + | | 101 || [[#StoreWithImage]] |
|} | |} | ||
+ | |||
+ | === Store === | ||
+ | Takes a [[#ProfileBase]] and an input type-0x19 buffer for [[#UserData]]. | ||
+ | |||
+ | === StoreWithImage === | ||
+ | Takes a [[#ProfileBase]], an input type-0x19 buffer for [[#UserData]], and an input type-0x5 buffer. | ||
== IAsyncContext == | == IAsyncContext == | ||
Line 402: | Line 546: | ||
= acc:u0 = | = acc:u0 = | ||
This is "nn::account::IAccountServiceForApplication". | This is "nn::account::IAccountServiceForApplication". | ||
+ | |||
+ | This was moved to [[NS_Services|ns]] with [13.0.0+]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 419: | Line 565: | ||
| 5 || GetProfile || Takes an input userID, returns an [[#IProfile]]. | | 5 || GetProfile || Takes an input userID, returns an [[#IProfile]]. | ||
|- | |- | ||
− | | 6 || GetProfileDigest || | + | | 6 || [3.0.0+] GetProfileDigest || |
+ | |- | ||
+ | | 50 || [[#IsUserRegistrationRequestPermitted]] || | ||
+ | |- | ||
+ | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) || | ||
|- | |- | ||
− | | | + | | 52 || [19.0.0+] TrySelectUserWithoutInteraction || |
|- | |- | ||
− | | | + | | 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers || |
|- | |- | ||
− | | | + | | 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]]. |
|- | |- | ||
− | | 100 || | + | | 100 || [[#InitializeApplicationInfoV0]] || |
|- | |- | ||
− | | 101 || GetBaasAccountManagerForApplication || | + | | 101 || GetBaasAccountManagerForApplication || Takes an input userID, returns an [[#IManagerForApplication]]. |
|- | |- | ||
| 102 || AuthenticateApplicationAsync || Returns an [[#IAsyncContext]]. | | 102 || AuthenticateApplicationAsync || Returns an [[#IAsyncContext]]. | ||
Line 443: | Line 593: | ||
| 130 || [5.0.0+] LoadOpenContext || | | 130 || [5.0.0+] LoadOpenContext || | ||
|- | |- | ||
+ | | 131 || [6.0.0+] ListOpenContextStoredUsers || | ||
+ | |- | ||
+ | | 140 || [6.0.0+] [[#InitializeApplicationInfo]] || | ||
+ | |- | ||
+ | | 141 || [6.0.0+] ListQualifiedUsers || | ||
+ | |- | ||
+ | | 150 || [6.0.0+] IsUserAccountSwitchLocked || | ||
|} | |} | ||
+ | |||
+ | InitializeApplicationInfo* is used by the user-process during service init. | ||
+ | |||
+ | == InitializeApplicationInfoV0 == | ||
+ | Takes a PID and an input u64 pid_placeholder, no output. | ||
+ | |||
+ | == InitializeApplicationInfo == | ||
+ | Takes a PID and an input u64 pid_placeholder, no output. | ||
== IGuestLoginRequest == | == IGuestLoginRequest == | ||
Line 453: | Line 618: | ||
|- | |- | ||
| 0 || GetSessionId | | 0 || GetSessionId | ||
+ | |- | ||
+ | | [1.0.0-2.3.0] 11 || | ||
|- | |- | ||
| 12 || GetAccountId | | 12 || GetAccountId | ||
Line 462: | Line 629: | ||
| 15 || GetProfileImage | | 15 || GetProfileImage | ||
|- | |- | ||
− | | 21 || LoadIdTokenCache | + | | 21 || [3.0.0+] LoadIdTokenCache |
|} | |} | ||
Line 478: | Line 645: | ||
| 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | | 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | ||
|- | |- | ||
− | | 3 || LoadIdTokenCache || | + | | 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) || |
+ | |- | ||
+ | | 4 || [19.0.0+] LoadIdTokenCache || | ||
|- | |- | ||
| 130 || GetNintendoAccountUserResourceCacheForApplication || | | 130 || GetNintendoAccountUserResourceCacheForApplication || | ||
Line 486: | Line 655: | ||
| 160 || [5.0.0+] StoreOpenContext || | | 160 || [5.0.0+] StoreOpenContext || | ||
|- | |- | ||
+ | | 170 || [6.0.0+] LoadNetworkServiceLicenseKindAsync || No input, returns an [[#IAsyncNetworkServiceLicenseKindContext]]. | ||
+ | |} | ||
+ | |||
+ | == IAsyncNetworkServiceLicenseKindContext == | ||
+ | This is "nn::account::detail::IAsyncNetworkServiceLicenseKindContext". | ||
+ | |||
+ | This was added with [6.0.0+]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetSystemEvent || | ||
+ | |- | ||
+ | | 1 || Cancel || | ||
+ | |- | ||
+ | | 2 || HasDone || | ||
+ | |- | ||
+ | | 3 || GetResult || | ||
+ | |- | ||
+ | | 100 || GetNetworkServiceLicenseKind || | ||
|} | |} | ||
= acc:u1 = | = acc:u1 = | ||
This is "nn::account::IAccountServiceForSystemService". | This is "nn::account::IAccountServiceForSystemService". | ||
+ | |||
+ | This was moved to [[NS_Services|ns]] with [13.0.0+]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 507: | Line 699: | ||
| 5 || GetProfile || Returns an [[#IProfile]]. | | 5 || GetProfile || Returns an [[#IProfile]]. | ||
|- | |- | ||
− | | 6 || GetProfileDigest || | + | | 6 || [3.0.0+] GetProfileDigest || |
+ | |- | ||
+ | | 50 || [[#IsUserRegistrationRequestPermitted]] || | ||
+ | |- | ||
+ | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) || | ||
|- | |- | ||
− | | | + | | 52 || [19.0.0+] TrySelectUserWithoutInteraction || |
|- | |- | ||
− | | | + | | 60 || [5.0.0-5.1.0] ListOpenContextStoredUsers || |
|- | |- | ||
− | | | + | | 99 || [6.0.0+] DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]]. |
|- | |- | ||
| 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]]. | | 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]]. | ||
Line 525: | Line 721: | ||
| 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]]. | | 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]]. | ||
|- | |- | ||
− | | 105 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. | + | | 105 || [4.0.0+] CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. |
+ | |- | ||
+ | | 106 || [9.0.0+] GetProfileSyncNotifier || | ||
|- | |- | ||
| 110 || StoreSaveDataThumbnail || | | 110 || StoreSaveDataThumbnail || | ||
Line 535: | Line 733: | ||
| 113 || [5.0.0+] GetSaveDataThumbnailExistence || | | 113 || [5.0.0+] GetSaveDataThumbnailExistence || | ||
|- | |- | ||
− | | 190 || GetUserLastOpenedApplication || | + | | 120 || [10.0.0+] ListOpenUsersInApplication || |
+ | |- | ||
+ | | 130 || [6.0.0+] ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 140 || [6.0.0+] ListQualifiedUsers || | ||
+ | |- | ||
+ | | 150 || [10.0.0-10.2.0] AuthenticateApplicationAsync || | ||
+ | |- | ||
+ | | 151 || [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync || | ||
+ | |- | ||
+ | | 152 || [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount || | ||
+ | |- | ||
+ | | 190 || [1.0.0-9.2.0] GetUserLastOpenedApplication || | ||
+ | |- | ||
+ | | 191 || [7.0.0+] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) || | ||
|- | |- | ||
− | | | + | | 401 || [18.0.0+] GetPinCodeLength || |
|- | |- | ||
− | | 997 || DebugInvalidateTokenCacheForUser || | + | | 402 || [18.0.0+] GetPinCode || |
+ | |- | ||
+ | | 997 || [3.0.0+] DebugInvalidateTokenCacheForUser || | ||
|- | |- | ||
| 998 || DebugSetUserStateClose || | | 998 || DebugSetUserStateClose || | ||
|- | |- | ||
| 999 || DebugSetUserStateOpen || | | 999 || DebugSetUserStateOpen || | ||
+ | |} | ||
+ | |||
+ | [10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input. | ||
+ | |||
+ | == IOAuthProcedureForUserRegistration == | ||
+ | This is "nn::account::nas::IOAuthProcedureForUserRegistration". | ||
+ | |||
+ | This was added with [8.0.0+]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || PrepareAsync || No input, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 1 || GetRequest || | ||
+ | |- | ||
+ | | 2 || ApplyResponse || | ||
+ | |- | ||
+ | | 3 || ApplyResponseAsync || Takes a type-0x9 input buffer, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 10 || Suspend || | ||
+ | |- | ||
+ | | 100 || GetAccountId || | ||
+ | |- | ||
+ | | 101 || GetLinkedNintendoAccountId || | ||
+ | |- | ||
+ | | 102 || GetNickname || | ||
+ | |- | ||
+ | | 103 || GetProfileImage || | ||
+ | |- | ||
+ | | 104 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]] || | ||
+ | |- | ||
+ | | 110 || RegisterUserAsync || No input, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 111 || GetUid || | ||
+ | |- | ||
+ | | 200 || [17.0.0+] ApplyResponseForUserCreationAsync || | ||
+ | |- | ||
+ | | 205 || [17.0.0+] SuspendAfterApplyResponse || | ||
+ | |- | ||
+ | | 210 || [17.0.0+] IsProfileAvailable || | ||
+ | |- | ||
+ | | 220 || [17.0.0+] RegisterUserAsyncWithoutProfile || | ||
+ | |- | ||
+ | | 221 || [17.0.0+] RegisterUserWithProfileAsync || | ||
+ | |- | ||
+ | | 230 || [18.0.0+] RegisterUserWithLargeImageProfileAsync || | ||
|} | |} | ||
Line 559: | Line 821: | ||
| 2 || GetDeviceAccountId || | | 2 || GetDeviceAccountId || | ||
|- | |- | ||
− | | 50 || RegisterNotificationTokenAsync || Returns an [[#IAsyncContext]]. | + | | 50 || [1.0.0-6.2.0] RegisterNotificationTokenAsync || Returns an [[#IAsyncContext]]. |
+ | |- | ||
+ | | 51 || [1.0.0-6.2.0] UnregisterNotificationTokenAsync || Returns an [[#IAsyncContext]]. | ||
+ | |} | ||
+ | |||
+ | = dauth:0 = | ||
+ | This is "nn::dauth::detail::IService". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || EnsureAuthenticationTokenCacheAsync ([5.0.0-5.1.0] GeneratePostData) | ||
+ | |- | ||
+ | | 1 || [6.0.0+] LoadAuthenticationTokenCache | ||
+ | |- | ||
+ | | 2 || [6.0.0+] InvalidateAuthenticationTokenCache | ||
+ | |- | ||
+ | | 3 || [16.0.0+] IsDeviceAuthenticationTokenCacheAvailable | ||
+ | |- | ||
+ | | 10 || [6.0.0+] EnsureEdgeTokenCacheAsync | ||
+ | |- | ||
+ | | 11 || [6.0.0+] LoadEdgeTokenCache | ||
+ | |- | ||
+ | | 12 || [6.0.0+] InvalidateEdgeTokenCache | ||
+ | |- | ||
+ | | 13 || [16.0.0+] IsEdgeTokenCacheAvailable | ||
+ | |- | ||
+ | | 20 || [11.0.0+] EnsureApplicationAuthenticationCacheAsync | ||
+ | |- | ||
+ | | 21 || [11.0.0+] LoadApplicationAuthenticationTokenCache | ||
+ | |- | ||
+ | | 22 || [11.0.0+] LoadApplicationNetworkServiceClientConfigCache | ||
+ | |- | ||
+ | | 23 || [11.0.0+] IsApplicationAuthenticationCacheAvailable | ||
+ | |- | ||
+ | | 24 || [11.0.0+] InvalidateApplicationAuthenticationCache | ||
+ | |- | ||
+ | | 1000 || [15.0.0+] GetInactiveElicenseUsedEvent | ||
+ | |- | ||
+ | | 9000 || [15.0.0+] ImportVirtualClientCertificate | ||
+ | |- | ||
+ | | 9010 || [15.0.0+] DeleteVirtualClientCertificate | ||
+ | |} | ||
+ | |||
+ | [10.0.0+] EnsureEdgeTokenCacheAsync now takes an additional 8-bytes of input. | ||
+ | |||
+ | == IAsyncResult == | ||
+ | This is "nn::dauth::detail::IAsyncResult". | ||
+ | |||
+ | This was added with [6.0.0+]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || GetResult | ||
+ | |- | ||
+ | | 1 || Cancel | ||
+ | |- | ||
+ | | 2 || IsAvailable | ||
+ | |- | ||
+ | | 3 || GetSystemEvent | ||
+ | |} | ||
+ | |||
+ | = acc:e = | ||
+ | This is "nn::account::IAccountEntityServiceForAccountPolicy". | ||
+ | |||
+ | This was added with [13.0.0+]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetUserCount || | ||
+ | |- | ||
+ | | 1 || GetUserExistence || | ||
+ | |- | ||
+ | | 2 || ListAllUsers || | ||
+ | |- | ||
+ | | 3 || ListOpenUsers || | ||
+ | |- | ||
+ | | 4 || GetLastOpenedUser || | ||
+ | |- | ||
+ | | 5 || GetProfile || Returns an [[#IProfile]]. | ||
+ | |- | ||
+ | | 6 || GetProfileDigest || | ||
+ | |- | ||
+ | | 50 || [[#IsUserRegistrationRequestPermitted]] || | ||
+ | |- | ||
+ | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) || | ||
+ | |- | ||
+ | | 52 || [19.0.0+] TrySelectUserWithoutInteraction || | ||
+ | |- | ||
+ | | 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]]. | ||
+ | |- | ||
+ | | 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 105 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 106 || GetProfileSyncNotifier || | ||
+ | |- | ||
+ | | 110 || StoreSaveDataThumbnail || | ||
+ | |- | ||
+ | | 111 || ClearSaveDataThumbnail || | ||
+ | |- | ||
+ | | 112 || LoadSaveDataThumbnail || | ||
+ | |- | ||
+ | | 113 || GetSaveDataThumbnailExistence || | ||
+ | |- | ||
+ | | 120 || ListOpenUsersInApplication || | ||
+ | |- | ||
+ | | 130 || ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 140 || ListQualifiedUsers || | ||
+ | |- | ||
+ | | 151 || EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync || | ||
+ | |- | ||
+ | | 152 || LoadSignedDeviceIdentifierCacheForNintendoAccount || | ||
+ | |- | ||
+ | | 170 || GetNasOp2MembershipStateChangeNotifier || | ||
+ | |- | ||
+ | | 191 || UpdateNotificationReceiverInfo || | ||
+ | |- | ||
+ | | 200 || BeginUserRegistration || | ||
+ | |- | ||
+ | | 201 || CompleteUserRegistration || | ||
+ | |- | ||
+ | | 202 || CancelUserRegistration || | ||
+ | |- | ||
+ | | 203 || DeleteUser || | ||
+ | |- | ||
+ | | 204 || SetUserPosition || | ||
+ | |- | ||
+ | | 205 || GetProfileEditor || Takes an input userID and returns an [[#IProfileEditor]]. | ||
+ | |- | ||
+ | | 206 || CompleteUserRegistrationForcibly || | ||
+ | |- | ||
+ | | 210 || CreateFloatingRegistrationRequest || Returns an [[#IFloatingRegistrationRequest]]. | ||
+ | |- | ||
+ | | 211 || CreateProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x4-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]]. | ||
+ | |- | ||
+ | | 212 || ResumeProcedureToRegisterUserWithNintendoAccount || Takes a total of 0x14-bytes of input and a handle, returns an [[#IOAuthProcedureForUserRegistration]]. | ||
+ | |- | ||
+ | | 213 || [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount || | ||
+ | |- | ||
+ | | 214 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount || | ||
+ | |- | ||
+ | | 215 || [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse || | ||
+ | |- | ||
+ | | 230 || AuthenticateServiceAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 250 || GetBaasAccountAdministrator || Returns an [[#IAdministrator]]. | ||
+ | |- | ||
+ | | 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. | ||
+ | |- | ||
+ | | 291 || ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. | ||
+ | |- | ||
+ | | 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 400 || [18.0.0+] SetPinCode || | ||
+ | |- | ||
+ | | 401 || [18.0.0+] GetPinCodeLength || | ||
+ | |- | ||
+ | | 402 || [18.0.0+] GetPinCode || | ||
+ | |- | ||
+ | | 410 || [18.0.0+] GetPinCodeErrorCount || | ||
+ | |- | ||
+ | | 411 || [18.0.0+] ResetPinCodeErrorCount || | ||
+ | |- | ||
+ | | 412 || [18.0.0+] IncrementPinCodeErrorCount || | ||
+ | |- | ||
+ | | 420 || [19.0.0+] SetStartPenaltyTime || | ||
+ | |- | ||
+ | | 421 || [19.0.0+] GetStartPenaltyTime || | ||
+ | |- | ||
+ | | 900 || SetUserUnqualifiedForDebug || | ||
+ | |- | ||
+ | | 901 || UnsetUserUnqualifiedForDebug || | ||
+ | |- | ||
+ | | 902 || ListUsersUnqualifiedForDebug || | ||
+ | |- | ||
+ | | 910 || [16.0.0+] RefreshFirmwareSettingsForDebug || | ||
+ | |- | ||
+ | | 997 || DebugInvalidateTokenCacheForUser || | ||
+ | |- | ||
+ | | 998 || DebugSetUserStateClose || | ||
+ | |- | ||
+ | | 999 || DebugSetUserStateOpen || | ||
+ | |- | ||
+ | | 1000 || CreateIAccountEntityServiceForApplication || Returns an [[#IAccountEntityServiceForApplication]]. | ||
+ | |- | ||
+ | | 1100 || CreateIUserStateManager || Returns an [[#IUserStateManager]]. | ||
+ | |- | ||
+ | | 10050 || IsUserRegistrationRequestPermittedForAccountPolicy || | ||
+ | |- | ||
+ | | 10105 || CheckNetworkServiceAvailabilityAsyncForAccountPolicy || | ||
+ | |} | ||
+ | |||
+ | == IProfile == | ||
+ | This is "nn::account::profile::IProfile". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || [[#Get]] | ||
+ | |- | ||
+ | | 1 || [[#GetBase]] | ||
+ | |- | ||
+ | | 10 || [[#GetImageSize]] | ||
+ | |- | ||
+ | | 11 || [[#LoadImage]] | ||
+ | |- | ||
+ | | 20 || [18.0.0+] GetLargeImageSize | ||
+ | |- | ||
+ | | 21 || [18.0.0+] LoadLargeImage | ||
+ | |- | ||
+ | | 30 || [18.0.0+] GetImageId | ||
+ | |- | ||
+ | | 40 || [19.0.0+] GetStableUserId | ||
+ | |} | ||
+ | |||
+ | === Get === | ||
+ | Takes an output type-0x1A buffer for [[#UserData]], returns an output [[#ProfileBase]]. | ||
+ | |||
+ | === GetBase === | ||
+ | No input, returns an output [[#ProfileBase]]. | ||
+ | |||
+ | === GetImageSize === | ||
+ | No input, returns an output u32 for the size of the image buffer. | ||
+ | |||
+ | === LoadImage === | ||
+ | Takes an output type-0x6 buffer, returns the same output u32 as [[#GetImageSize]]. | ||
+ | |||
+ | The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons. | ||
+ | |||
+ | == IProfileEditor == | ||
+ | This is "nn::account::profile::IProfileEditor". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || [[#Get]] | ||
+ | |- | ||
+ | | 1 || [[#GetBase]] | ||
+ | |- | ||
+ | | 10 || [[#GetImageSize]] | ||
+ | |- | ||
+ | | 11 || [[#LoadImage]] | ||
+ | |- | ||
+ | | 20 || [18.0.0+] GetLargeImageSize | ||
+ | |- | ||
+ | | 21 || [18.0.0+] LoadLargeImage | ||
+ | |- | ||
+ | | 30 || [18.0.0+] GetImageId | ||
+ | |- | ||
+ | | 40 || [19.0.0+] GetStableUserId | ||
+ | |- | ||
+ | | 100 || [[#Store]] | ||
+ | |- | ||
+ | | 101 || [[#StoreWithImage]] | ||
+ | |- | ||
+ | | 110 || [18.0.0+] StoreWithLargeImage | ||
+ | |} | ||
+ | |||
+ | === Store === | ||
+ | Takes a [[#ProfileBase]] and an input type-0x19 buffer for [[#UserData]]. | ||
+ | |||
+ | === StoreWithImage === | ||
+ | Takes a [[#ProfileBase]], an input type-0x19 buffer for [[#UserData]], and an input type-0x5 buffer. | ||
+ | |||
+ | == IAsyncContext == | ||
+ | This is "nn::account::detail::IAsyncContext". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || GetSystemEvent | ||
+ | |- | ||
+ | | 1 || Cancel | ||
+ | |- | ||
+ | | 2 || HasDone | ||
+ | |- | ||
+ | | 3 || GetResult | ||
+ | |} | ||
+ | |||
+ | == ISessionObject == | ||
+ | This is "nn::account::detail::ISessionObject". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 999 || Dummy | ||
+ | |} | ||
+ | |||
+ | == INotifier == | ||
+ | This is "nn::account::detail::INotifier". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || GetSystemEvent | ||
+ | |} | ||
+ | |||
+ | == IManagerForSystemService == | ||
+ | This is "nn::account::baas::IManagerForSystemService". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || CheckAvailability || | ||
+ | |- | ||
+ | | 1 || GetAccountId || | ||
+ | |- | ||
+ | | 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 3 || [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) || | ||
+ | |- | ||
+ | | 4 || [19.0.0+] LoadIdTokenCache || | ||
+ | |- | ||
+ | | 100 || SetSystemProgramIdentification || | ||
+ | |- | ||
+ | | 101 || RefreshNotificationTokenAsync || | ||
+ | |- | ||
+ | | 110 || GetServiceEntryRequirementCacheForLogin || | ||
+ | |- | ||
+ | | 111 || InvalidateServiceEntryRequirementCache || | ||
+ | |- | ||
+ | | 113 || GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | ||
+ | |- | ||
+ | | 120 || GetNintendoAccountId || | ||
+ | |- | ||
+ | | 121 || CalculateNintendoAccountAuthenticationFingerprint || | ||
+ | |- | ||
+ | | 130 || GetNintendoAccountUserResourceCache || | ||
+ | |- | ||
+ | | 131 || RefreshNintendoAccountUserResourceCacheAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 133 || GetNintendoAccountVerificationUrlCache || | ||
+ | |- | ||
+ | | 134 || RefreshNintendoAccountVerificationUrlCacheAsync || | ||
+ | |- | ||
+ | | 135 || RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed || | ||
+ | |- | ||
+ | | 136 || [19.0.0+] GetNintendoAccountUserResourceCache || | ||
+ | |- | ||
+ | | 140 || GetNetworkServiceLicenseCache || | ||
+ | |- | ||
+ | | 141 || RefreshNetworkServiceLicenseCacheAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 142 || RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 143 || [15.0.0+] GetNetworkServiceLicenseCacheEx || | ||
+ | |- | ||
+ | | 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]]. | ||
+ | |- | ||
+ | | 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache || | ||
+ | |- | ||
+ | | 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount || | ||
|- | |- | ||
− | | | + | | 180 || [18.0.0+] GetRequestForNintendoAccountReauthentication || |
|} | |} | ||
+ | |||
+ | == IFloatingRegistrationRequest == | ||
+ | This is "nn::account::baas::IFloatingRegistrationRequest". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetSessionId || | ||
+ | |- | ||
+ | | 12 || GetAccountId || | ||
+ | |- | ||
+ | | 13 || GetLinkedNintendoAccountId || | ||
+ | |- | ||
+ | | 14 || GetNickname || | ||
+ | |- | ||
+ | | 15 || GetProfileImage || | ||
+ | |- | ||
+ | | 16 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]] || | ||
+ | |- | ||
+ | | 21 || LoadIdTokenCache || | ||
+ | |- | ||
+ | | 100 || RegisterUser || | ||
+ | |- | ||
+ | | 101 || RegisterUserWithUid || | ||
+ | |- | ||
+ | | 102 || RegisterNetworkServiceAccountAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 103 || RegisterNetworkServiceAccountWithUidAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 110 || SetSystemProgramIdentification || | ||
+ | |- | ||
+ | | 111 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | ||
+ | |} | ||
+ | |||
+ | == IAdministrator == | ||
+ | This is "nn::account::baas::IAdministrator". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || CheckAvailability || | ||
+ | |- | ||
+ | | 1 || GetAccountId || | ||
+ | |- | ||
+ | | 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 3 || LoadIdTokenCache || | ||
+ | |- | ||
+ | | 100 || SetSystemProgramIdentification || | ||
+ | |- | ||
+ | | 101 || RefreshNotificationTokenAsync || | ||
+ | |- | ||
+ | | 110 || GetServiceEntryRequirementCacheForLogin || | ||
+ | |- | ||
+ | | 111 || InvalidateServiceEntryRequirementCache || | ||
+ | |- | ||
+ | | 113 || GetServiceEntryRequirementCacheForOnlinePlay || Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. | ||
+ | |- | ||
+ | | 120 || GetNintendoAccountId || | ||
+ | |- | ||
+ | | 121 || CalculateNintendoAccountAuthenticationFingerprint || | ||
+ | |- | ||
+ | | 130 || GetNintendoAccountUserResourceCache || | ||
+ | |- | ||
+ | | 131 || RefreshNintendoAccountUserResourceCacheAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 132 || RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 133 || GetNintendoAccountVerificationUrlCache || | ||
+ | |- | ||
+ | | 134 || RefreshNintendoAccountVerificationUrlCacheAsync || | ||
+ | |- | ||
+ | | 135 || RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed || | ||
+ | |- | ||
+ | | 140 || GetNetworkServiceLicenseCache || | ||
+ | |- | ||
+ | | 141 || RefreshNetworkServiceLicenseCacheAsync || | ||
+ | |- | ||
+ | | 142 || RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed || | ||
+ | |- | ||
+ | | 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]]. | ||
+ | |- | ||
+ | | 160 || [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache || | ||
+ | |- | ||
+ | | 161 || [16.0.0+] RequireReauthenticationOfNetworkServiceAccount || | ||
+ | |- | ||
+ | | 170 || [17.0.0+] CreateDeviceHistoryRequest || | ||
+ | |- | ||
+ | | 200 || IsRegistered || | ||
+ | |- | ||
+ | | 201 || RegisterAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 202 || UnregisterAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 203 || DeleteRegistrationInfoLocally || | ||
+ | |- | ||
+ | | 220 || SynchronizeProfileAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 221 || UploadProfileAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 222 || SynchronizeProfileAsyncIfSecondsElapsed || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 250 || IsLinkedWithNintendoAccount || | ||
+ | |- | ||
+ | | 251 || CreateProcedureToLinkWithNintendoAccount || Returns an [[#IOAuthProcedureForNintendoAccountLinkage]]. | ||
+ | |- | ||
+ | | 252 || ResumeProcedureToLinkWithNintendoAccount || Returns an [[#IOAuthProcedureForNintendoAccountLinkage]]. | ||
+ | |- | ||
+ | | 255 || CreateProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]]. | ||
+ | |- | ||
+ | | 256 || ResumeProcedureToUpdateLinkageStateOfNintendoAccount || Returns an [[#IOAuthProcedure]]. | ||
+ | |- | ||
+ | | 260 || CreateProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]]. | ||
+ | |- | ||
+ | | 261 || ResumeProcedureToLinkNnidWithNintendoAccount || Returns an [[#IOAuthProcedure]]. | ||
+ | |- | ||
+ | | 280 || ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount || Returns an [[#IOAuthProcedure]]. | ||
+ | |- | ||
+ | | 290 || GetRequestForNintendoAccountUserResourceView || | ||
+ | |- | ||
+ | | 300 || TryRecoverNintendoAccountUserStateAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 400 || IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay || Takes a total of 0x8-bytes of input, returns an output u8. | ||
+ | |- | ||
+ | | 401 || RefreshServiceEntryRequirementCacheForOnlinePlayAsync || Takes a total of 0x8-bytes of input, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 410 || [13.1.0+] CheckRequiredLicenseForLexAsync || | ||
+ | |- | ||
+ | | 900 || GetAuthenticationInfoForWin || | ||
+ | |- | ||
+ | | 901 || ImportAsyncForWin || | ||
+ | |- | ||
+ | | 997 || DebugUnlinkNintendoAccountAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 998 || DebugSetAvailabilityErrorDetail || | ||
+ | |} | ||
+ | |||
+ | == IAuthorizationRequest == | ||
+ | This is "nn::account::nas::IAuthorizationRequest". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetSessionId || | ||
+ | |- | ||
+ | | 10 || InvokeWithoutInteractionAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 19 || IsAuthorized || | ||
+ | |- | ||
+ | | 20 || GetAuthorizationCode || | ||
+ | |- | ||
+ | | 21 || GetIdToken || | ||
+ | |- | ||
+ | | 22 || GetState || | ||
+ | |} | ||
+ | |||
+ | == IOAuthProcedure == | ||
+ | This is "nn::account::http::IOAuthProcedure". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || PrepareAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 1 || GetRequest || | ||
+ | |- | ||
+ | | 2 || ApplyResponse || | ||
+ | |- | ||
+ | | 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 10 || Suspend || | ||
+ | |} | ||
+ | |||
+ | == IOAuthProcedureForExternalNsa == | ||
+ | This is "nn::account::nas::IOAuthProcedureForExternalNsa". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || PrepareAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 1 || GetRequest || | ||
+ | |- | ||
+ | | 2 || ApplyResponse || | ||
+ | |- | ||
+ | | 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 10 || Suspend || | ||
+ | |- | ||
+ | | 100 || GetAccountId || | ||
+ | |- | ||
+ | | 101 || GetLinkedNintendoAccountId || | ||
+ | |- | ||
+ | | 102 || GetNickname || | ||
+ | |- | ||
+ | | 103 || GetProfileImage || | ||
+ | |} | ||
+ | |||
+ | == IOAuthProcedureForNintendoAccountLinkage == | ||
+ | This is "nn::account::nas::IOAuthProcedureForNintendoAccountLinkage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || PrepareAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 1 || GetRequest || | ||
+ | |- | ||
+ | | 2 || ApplyResponse || | ||
+ | |- | ||
+ | | 3 || ApplyResponseAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 10 || Suspend || | ||
+ | |- | ||
+ | | 100 || GetRequestWithTheme || | ||
+ | |- | ||
+ | | 101 || IsNetworkServiceAccountReplaced || | ||
+ | |- | ||
+ | | 200 || [16.0.0+] ApplyAsyncWithAuthorizedToken || | ||
+ | |} | ||
+ | |||
+ | == IOAuthProcedureForUserRegistration == | ||
+ | This is "nn::account::nas::IOAuthProcedureForUserRegistration". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || PrepareAsync || No input, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 1 || GetRequest || | ||
+ | |- | ||
+ | | 2 || ApplyResponse || | ||
+ | |- | ||
+ | | 3 || ApplyResponseAsync || Takes a type-0x9 input buffer, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 10 || Suspend || | ||
+ | |- | ||
+ | | 100 || GetAccountId || | ||
+ | |- | ||
+ | | 101 || GetLinkedNintendoAccountId || | ||
+ | |- | ||
+ | | 102 || GetNickname || | ||
+ | |- | ||
+ | | 103 || GetProfileImage || | ||
+ | |- | ||
+ | | 110 || RegisterUserAsync || No input, returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 111 || GetUid || | ||
+ | |} | ||
+ | |||
+ | == IAccountEntityServiceForApplication == | ||
+ | This is "nn::account::IAccountEntityServiceForApplication". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetUserCount || | ||
+ | |- | ||
+ | | 1 || GetUserExistence || | ||
+ | |- | ||
+ | | 2 || ListAllUsers || | ||
+ | |- | ||
+ | | 3 || ListOpenUsers || | ||
+ | |- | ||
+ | | 4 || GetLastOpenedUser || | ||
+ | |- | ||
+ | | 5 || GetProfile || Takes an input userID, returns an [[#IProfile]]. | ||
+ | |- | ||
+ | | 6 || GetProfileDigest || | ||
+ | |- | ||
+ | | 50 || [[#IsUserRegistrationRequestPermitted]] || | ||
+ | |- | ||
+ | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) || | ||
+ | |- | ||
+ | | 52 || [19.0.0+] TrySelectUserWithoutInteraction || | ||
+ | |- | ||
+ | | 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 100 || [[#InitializeApplicationInfoV0]] || | ||
+ | |- | ||
+ | | 101 || GetBaasAccountManagerForApplication || Takes an input userID, returns an [[#IManagerForApplication]]. | ||
+ | |- | ||
+ | | 102 || AuthenticateApplicationAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 103 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 110 || StoreSaveDataThumbnail || | ||
+ | |- | ||
+ | | 111 || ClearSaveDataThumbnail || | ||
+ | |- | ||
+ | | 120 || CreateGuestLoginRequest || Returns an [[#IGuestLoginRequest]]. | ||
+ | |- | ||
+ | | 130 || LoadOpenContext || | ||
+ | |- | ||
+ | | 131 || ListOpenContextStoredUsers || | ||
+ | |- | ||
+ | | 140 || [[#InitializeApplicationInfoV1]] || | ||
+ | |- | ||
+ | | 141 || ListQualifiedUsers || | ||
+ | |- | ||
+ | | 150 || IsUserAccountSwitchLocked || | ||
+ | |- | ||
+ | | 160 || InitializeApplicationInfoV2 || | ||
+ | |- | ||
+ | | 10050 || IsUserRegistrationRequestPermittedForAccountPolicy || | ||
+ | |- | ||
+ | | 10100 || InitializeApplicationInfoV0ForAccountPolicy || | ||
+ | |- | ||
+ | | 10140 || InitializeApplicationInfoV1ForAccountPolicy || | ||
+ | |- | ||
+ | | 10160 || InitializeApplicationInfoV2ForAccountPolicy || | ||
+ | |} | ||
+ | |||
+ | InitializeApplicationInfo* is used by the user-process during service init. | ||
+ | |||
+ | === IsUserRegistrationRequestPermitted === | ||
+ | Takes a PID, an input u64 pid_reserved, and returns an output u8 bool. | ||
+ | |||
+ | === TrySelectUserWithoutInteraction === | ||
+ | Takes an input u8 bool isNetworkServiceAccountRequired, returns an output Uid. | ||
+ | |||
+ | === InitializeApplicationInfoV0 === | ||
+ | Takes a PID and an input u64 pid_placeholder, no output. | ||
+ | |||
+ | === InitializeApplicationInfoV1 === | ||
+ | Takes a PID and an input u64 pid_placeholder, no output. | ||
+ | |||
+ | === IGuestLoginRequest === | ||
+ | This is "nn::account::baas::IGuestLoginRequest". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || GetSessionId | ||
+ | |- | ||
+ | | 12 || GetAccountId | ||
+ | |- | ||
+ | | 13 || GetLinkedNintendoAccountId | ||
+ | |- | ||
+ | | 14 || GetNickname | ||
+ | |- | ||
+ | | 15 || GetProfileImage | ||
+ | |- | ||
+ | | 16 || [18.0.0+] [[#GetProfileLargeImage|GetProfileLargeImage]] | ||
+ | |- | ||
+ | | 21 || LoadIdTokenCache | ||
+ | |} | ||
+ | |||
+ | === IManagerForApplication === | ||
+ | This is "nn::account::baas::IManagerForApplication". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || CheckAvailability || | ||
+ | |- | ||
+ | | 1 || GetAccountId || | ||
+ | |- | ||
+ | | 2 || EnsureIdTokenCacheAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 3 || LoadIdTokenCache || | ||
+ | |- | ||
+ | | 130 || GetNintendoAccountUserResourceCacheForApplication || | ||
+ | |- | ||
+ | | 150 || CreateAuthorizationRequest || Returns an [[#IAuthorizationRequest]]. | ||
+ | |- | ||
+ | | 160 || StoreOpenContext || | ||
+ | |- | ||
+ | | 170 || EnsureIdTokenCacheForOnlinePlayAsync || No input, returns an [[#IAsyncContextForLoginForOnlinePlay]]. | ||
+ | |} | ||
+ | |||
+ | ==== IAsyncContextForLoginForOnlinePlay ==== | ||
+ | This is "nn::account::baas::IAsyncContextForLoginForOnlinePlay". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetSystemEvent || | ||
+ | |- | ||
+ | | 1 || Cancel || | ||
+ | |- | ||
+ | | 2 || HasDone || | ||
+ | |- | ||
+ | | 3 || GetResult || | ||
+ | |- | ||
+ | | 100 || GetNetworkServiceLicenseInfoForOnlinePlay || | ||
+ | |} | ||
+ | |||
+ | == IUserStateManager == | ||
+ | This is "nn::account::detail::IUserStateManager". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 100 || EnableQualificationLimitation | ||
+ | |- | ||
+ | | 101 || DisableQualificationLimitation | ||
+ | |- | ||
+ | | 110 || SelectQualifiedUsers | ||
+ | |- | ||
+ | | 900 || [14.0.0+] SetUserUnqualifiedForDebug | ||
+ | |- | ||
+ | | 901 || [14.0.0+] UnsetUserUnqualifiedForDebug | ||
+ | |- | ||
+ | | 902 || [14.0.0+] ListUsersUnqualifiedForDebug | ||
+ | |} | ||
+ | |||
+ | = acc:e:u1 = | ||
+ | This is "nn::account::IAccountServiceForSystemService". | ||
+ | |||
+ | This was added with [13.0.0+]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetUserCount || | ||
+ | |- | ||
+ | | 1 || GetUserExistence || | ||
+ | |- | ||
+ | | 2 || ListAllUsers || | ||
+ | |- | ||
+ | | 3 || ListOpenUsers || | ||
+ | |- | ||
+ | | 4 || GetLastOpenedUser || | ||
+ | |- | ||
+ | | 5 || GetProfile || Returns an [[#IProfile]]. | ||
+ | |- | ||
+ | | 6 || GetProfileDigest || | ||
+ | |- | ||
+ | | 50 || [[#IsUserRegistrationRequestPermitted]] || | ||
+ | |- | ||
+ | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) || | ||
+ | |- | ||
+ | | 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]]. | ||
+ | |- | ||
+ | | 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 105 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 106 || GetProfileSyncNotifier || | ||
+ | |- | ||
+ | | 110 || StoreSaveDataThumbnail || | ||
+ | |- | ||
+ | | 111 || ClearSaveDataThumbnail || | ||
+ | |- | ||
+ | | 112 || LoadSaveDataThumbnail || | ||
+ | |- | ||
+ | | 113 || GetSaveDataThumbnailExistence || | ||
+ | |- | ||
+ | | 120 || ListOpenUsersInApplication || | ||
+ | |- | ||
+ | | 130 || ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 140 || ListQualifiedUsers || | ||
+ | |- | ||
+ | | 151 || EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync || | ||
+ | |- | ||
+ | | 152 || LoadSignedDeviceIdentifierCacheForNintendoAccount || | ||
+ | |- | ||
+ | | 170 || GetNasOp2MembershipStateChangeNotifier || | ||
+ | |- | ||
+ | | 191 || UpdateNotificationReceiverInfo || | ||
+ | |- | ||
+ | | 997 || DebugInvalidateTokenCacheForUser || | ||
+ | |- | ||
+ | | 998 || DebugSetUserStateClose || | ||
+ | |- | ||
+ | | 999 || DebugSetUserStateOpen || | ||
+ | |} | ||
+ | |||
+ | = acc:e:u2 = | ||
+ | This is "nn::account::IAccountServiceForSystemServiceWithProfileEditor". | ||
+ | |||
+ | This was added with [13.0.0+]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 0 || GetUserCount || | ||
+ | |- | ||
+ | | 1 || GetUserExistence || | ||
+ | |- | ||
+ | | 2 || ListAllUsers || | ||
+ | |- | ||
+ | | 3 || ListOpenUsers || | ||
+ | |- | ||
+ | | 4 || GetLastOpenedUser || | ||
+ | |- | ||
+ | | 5 || GetProfile || Returns an [[#IProfile]]. | ||
+ | |- | ||
+ | | 6 || GetProfileDigest || | ||
+ | |- | ||
+ | | 50 || [[#IsUserRegistrationRequestPermitted]] || | ||
+ | |- | ||
+ | | 51 || TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] [[#TrySelectUserWithoutInteraction]]) || | ||
+ | |- | ||
+ | | 52 || [19.0.0+] TrySelectUserWithoutInteraction || | ||
+ | |- | ||
+ | | 99 || DebugActivateOpenContextRetention || No input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 100 || GetUserRegistrationNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 101 || GetUserStateChangeNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 102 || GetBaasAccountManagerForSystemService || Returns an [[#IManagerForSystemService]]. | ||
+ | |- | ||
+ | | 103 || GetBaasUserAvailabilityChangeNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 104 || GetProfileUpdateNotifier || Returns an [[#INotifier]]. | ||
+ | |- | ||
+ | | 105 || CheckNetworkServiceAvailabilityAsync || Returns an [[#IAsyncContext]]. | ||
+ | |- | ||
+ | | 106 || GetProfileSyncNotifier || | ||
+ | |- | ||
+ | | 110 || StoreSaveDataThumbnail || | ||
+ | |- | ||
+ | | 111 || ClearSaveDataThumbnail || | ||
+ | |- | ||
+ | | 112 || LoadSaveDataThumbnail || | ||
+ | |- | ||
+ | | 113 || GetSaveDataThumbnailExistence || | ||
+ | |- | ||
+ | | 120 || ListOpenUsersInApplication || | ||
+ | |- | ||
+ | | 130 || ActivateOpenContextRetention || Takes a total of 0x8-bytes of input, returns an [[#ISessionObject]]. | ||
+ | |- | ||
+ | | 140 || ListQualifiedUsers || | ||
+ | |- | ||
+ | | 151 || EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync || | ||
+ | |- | ||
+ | | 152 || LoadSignedDeviceIdentifierCacheForNintendoAccount || | ||
+ | |- | ||
+ | | 170 || GetNasOp2MembershipStateChangeNotifier || | ||
+ | |- | ||
+ | | 191 || UpdateNotificationReceiverInfo || | ||
+ | |- | ||
+ | | 205 || GetProfileEditor || Takes an input userID and returns an [[#IProfileEditor]]. | ||
+ | |- | ||
+ | | 401 || [18.0.0+] GetPinCodeLength || | ||
+ | |- | ||
+ | | 402 || [18.0.0+] GetPinCode || | ||
+ | |- | ||
+ | | 997 || DebugInvalidateTokenCacheForUser || | ||
+ | |- | ||
+ | | 998 || DebugSetUserStateClose || | ||
+ | |- | ||
+ | | 999 || DebugSetUserStateOpen || | ||
+ | |} | ||
+ | |||
+ | = UserData = | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset || Size || Description | ||
+ | |- | ||
+ | | 0x0 || 0x4? || ? | ||
+ | |- | ||
+ | | 0x4 || 0x4? || Icon ID. 0 = Mii, the rest are character icon IDs. | ||
+ | |- | ||
+ | | 0x8 || 0x1? || Profile icon background color ID | ||
+ | |- | ||
+ | | 0x9 || 0x7 || ? | ||
+ | |- | ||
+ | | 0x10 || 0x10 || Some ID related to the Mii? All zeros when a character icon is used. | ||
+ | |- | ||
+ | | 0x20 || 0x60 || Usually zeros? | ||
+ | |} | ||
+ | |||
+ | This is a 0x80-byte struct. | ||
+ | |||
+ | = ProfileBase = | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset || Size || Description | ||
+ | |- | ||
+ | | 0x0 || 0x10 || userID | ||
+ | |- | ||
+ | | 0x10 || 0x8 || POSIX UTC timestamp, for last account edit. | ||
+ | |- | ||
+ | | 0x18 || 0x20 || UTF-8 Nickname. Official sw uses strncpy to copy this into another struct (<code>nn::account::Nickname</code>), with a NUL-byte written after the copied data. | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | This is a 0x38-byte struct. | ||
+ | |||
+ | = Uid = | ||
+ | This is "nn::account::Uid". This is a 0x10-byte struct. This contains 2 u64s for the UserId. | ||
[[Category:Services]] | [[Category:Services]] |
Latest revision as of 20:14, 8 October 2024
acc:su
This is "nn::account::IAccountServiceForAdministrator".
This was moved to ns with [13.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetUserCount | |
1 | GetUserExistence | |
2 | ListAllUsers | |
3 | ListOpenUsers | |
4 | GetLastOpenedUser | |
5 | GetProfile | Returns an #IProfile. |
6 | [3.0.0+] GetProfileDigest | |
50 | #IsUserRegistrationRequestPermitted | |
51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
52 | [19.0.0+] TrySelectUserWithoutInteraction | |
60 | [5.0.0-5.1.0] ListOpenContextStoredUsers | |
99 | [6.0.0+] DebugActivateOpenContextRetention | No input, returns an #ISessionObject. |
100 | GetUserRegistrationNotifier | Returns an #INotifier. |
101 | GetUserStateChangeNotifier | Returns an #INotifier. |
102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. |
103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. |
104 | GetProfileUpdateNotifier | Returns an #INotifier. |
105 | [4.0.0+] CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. |
106 | [9.0.0+] GetProfileSyncNotifier | |
110 | StoreSaveDataThumbnail | |
111 | ClearSaveDataThumbnail | |
112 | LoadSaveDataThumbnail | |
113 | [5.0.0+] GetSaveDataThumbnailExistence | |
120 | [10.0.0+] ListOpenUsersInApplication | |
130 | [6.0.0+] ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. |
140 | [6.0.0+] ListQualifiedUsers | |
150 | [10.0.0-10.2.0] AuthenticateApplicationAsync | |
151 | [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
152 | [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount | |
190 | [1.0.0-9.2.0] GetUserLastOpenedApplication | |
191 | [7.0.0+] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) | |
200 | BeginUserRegistration | |
201 | CompleteUserRegistration | |
202 | CancelUserRegistration | |
203 | DeleteUser | |
204 | SetUserPosition | |
205 | GetProfileEditor | Takes an input userID and returns an #IProfileEditor. |
206 | CompleteUserRegistrationForcibly | |
210 | [3.0.0+] CreateFloatingRegistrationRequest | Returns an #IFloatingRegistrationRequest. |
211 | [8.0.0+] CreateProcedureToRegisterUserWithNintendoAccount | Takes a total of 0x4-bytes of input and a handle, returns an #IOAuthProcedureForUserRegistration. |
212 | [8.0.0+] ResumeProcedureToRegisterUserWithNintendoAccount | Takes a total of 0x14-bytes of input and a handle, returns an #IOAuthProcedureForUserRegistration. |
213 | [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount | |
214 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount | |
215 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse | |
230 | AuthenticateServiceAsync | Returns an #IAsyncContext. |
250 | GetBaasAccountAdministrator | Returns an #IAdministrator. |
290 | ProxyProcedureForGuestLoginWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa (formerly #IOAuthProcedureForGuestLogin with [1.0.0-2.3.0]). |
291 | [3.0.0+] ProxyProcedureForFloatingRegistrationWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa. |
299 | SuspendBackgroundDaemon | Returns an #ISessionObject. |
400 | [18.0.0+] SetPinCode | |
401 | [18.0.0+] GetPinCodeLength | |
402 | [18.0.0+] GetPinCode | |
410 | [18.0.0+] GetPinCodeErrorCount | |
411 | [18.0.0+] ResetPinCodeErrorCount | |
412 | [18.0.0+] IncrementPinCodeErrorCount | |
420 | [19.0.0+] SetStartPenaltyTime | |
421 | [19.0.0+] GetStartPenaltyTime | |
900 | [13.0.0+] SetUserUnqualifiedForDebug | |
901 | [13.0.0+] UnsetUserUnqualifiedForDebug | |
902 | [13.0.0+] ListUsersUnqualifiedForDebug | |
910 | [16.0.0+] RefreshFirmwareSettingsForDebug | |
997 | [3.0.0+] DebugInvalidateTokenCacheForUser | |
998 | DebugSetUserStateClose | |
999 | DebugSetUserStateOpen |
[10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input.
IsUserRegistrationRequestPermitted
Takes a PID, an input u64 pid_reserved, and returns an output u8 bool.
TrySelectUserWithoutInteraction
Takes an input u8 bool isNetworkServiceAccountRequired, returns an output Uid.
IManagerForSystemService
This is "nn::account::baas::IManagerForSystemService".
Cmd | Name | Notes |
---|---|---|
0 | CheckAvailability | |
1 | GetAccountId | |
2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
3 | LoadIdTokenCache | |
100 | SetSystemProgramIdentification | |
101 | [7.0.0+] RefreshNotificationTokenAsync | |
110 | [4.0.0+] GetServiceEntryRequirementCache | |
111 | [4.0.0+] InvalidateServiceEntryRequirementCache | |
112 | [4.0.0-6.2.0] InvalidateTokenCache | |
113 | [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. |
120 | GetNintendoAccountId | |
121 | [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint | |
130 | GetNintendoAccountUserResourceCache | |
131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. |
132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
133 | [9.0.0+] GetNintendoAccountVerificationUrlCache | |
134 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync | |
135 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
140 | [5.0.0+] GetNetworkServiceLicenseCache | |
141 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsync | Returns an #IAsyncContext. |
142 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. |
160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
170 | [17.0.0+] CreateDeviceHistoryRequest | |
180 | [18.0.0+] GetRequestForNintendoAccountReauthentication |
IFloatingRegistrationRequest
This is "nn::account::baas::IFloatingRegistrationRequest".
Added with [3.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetSessionId | |
12 | GetAccountId | |
13 | GetLinkedNintendoAccountId | |
14 | GetNickname | |
15 | GetProfileImage | |
21 | LoadIdTokenCache | |
100 | RegisterUser ([1.0.0-3.0.2] RegisterAsync) | [1.0.0-3.0.2] Used to return an #IAsyncContext. |
101 | RegisterUserWithUid ([1.0.0-3.0.2] RegisterWithUidAsync) | [1.0.0-3.0.2] Used to return an #IAsyncContext. |
102 | [4.0.0+] RegisterNetworkServiceAccountAsync | Returns an #IAsyncContext. |
103 | [4.0.0+] RegisterNetworkServiceAccountWithUidAsync | Returns an #IAsyncContext. |
110 | SetSystemProgramIdentification | |
111 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
IAdministrator
This is "nn::account::baas::IAdministrator".
Cmd | Name | Notes |
---|---|---|
0 | CheckAvailability | |
1 | GetAccountId | |
2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
4 | [19.0.0+] LoadIdTokenCache | |
100 | SetSystemProgramIdentification | |
101 | [7.0.0+] RefreshNotificationTokenAsync | |
110 | [4.0.0+] GetServiceEntryRequirementCache | |
111 | [4.0.0+] InvalidateServiceEntryRequirementCache | |
112 | [4.0.0-6.2.0] InvalidateTokenCache | |
113 | [6.1.0+] GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. |
120 | GetNintendoAccountId | |
121 | [9.0.0+] CalculateNintendoAccountAuthenticationFingerprint | |
130 | GetNintendoAccountUserResourceCache | |
131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. |
132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
133 | [9.0.0+] GetNintendoAccountVerificationUrlCache | |
134 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsync | |
135 | [9.0.0+] RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
136 | [19.0.0+] GetNintendoAccountUserResourceCache | |
140 | [5.0.0+] GetNetworkServiceLicenseCache | |
141 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsync | |
142 | [5.0.0+] RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | |
143 | [15.0.0+] GetNetworkServiceLicenseCacheEx | |
150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. |
160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
180 | [18.0.0+] GetRequestForNintendoAccountReauthentication | |
200 | IsRegistered | |
201 | RegisterAsync | Returns an #IAsyncContext. |
202 | UnregisterAsync | Returns an #IAsyncContext. |
203 | DeleteRegistrationInfoLocally | |
204 | [19.0.0+] UnregisterDeviceAsync | |
220 | SynchronizeProfileAsync | Returns an #IAsyncContext. |
221 | UploadProfileAsync | Returns an #IAsyncContext. |
222 | SynchronizeProfileAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
223 | [19.0.0+] DownloadProfileAsync | |
250 | IsLinkedWithNintendoAccount | |
251 | CreateProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. |
252 | ResumeProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. |
255 | CreateProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. |
256 | ResumeProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. |
260 | [3.0.0+] CreateProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. |
261 | [3.0.0+] ResumeProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. |
280 | ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount | Returns an #IOAuthProcedure. |
290 | [8.0.0+] GetRequestForNintendoAccountUserResourceView | |
300 | [6.0.0+] TryRecoverNintendoAccountUserStateAsync | Returns an #IAsyncContext. |
400 | [6.1.0+] IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay | Takes a total of 0x8-bytes of input, returns an output u8. |
401 | [6.1.0+] RefreshServiceEntryRequirementCacheForOnlinePlayAsync | Takes a total of 0x8-bytes of input, returns an #IAsyncContext. |
900 | [9.0.0+] GetAuthenticationInfoForWin | |
901 | [9.0.0+] ImportAsyncForWin | |
997 | DebugUnlinkNintendoAccountAsync | Returns an #IAsyncContext. |
998 | DebugSetAvailabilityErrorDetail |
IAuthorizationRequest
This is "nn::account::nas::IAuthorizationRequest".
Cmd | Name | Notes |
---|---|---|
0 | GetSessionId | |
10 | InvokeWithoutInteractionAsync | Returns an #IAsyncContext. |
19 | IsAuthorized | |
20 | GetAuthorizationCode | |
21 | GetIdToken | |
22 | GetState |
IOAuthProcedure
This is "nn::account::http::IOAuthProcedure".
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | Returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Returns an #IAsyncContext. |
10 | Suspend |
IOAuthProcedureForExternalNsa
This is "nn::account::nas::IOAuthProcedureForExternalNsa".
Added with [3.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | Returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Returns an #IAsyncContext. |
10 | Suspend | |
100 | GetAccountId | |
101 | GetLinkedNintendoAccountId | |
102 | GetNickname | |
103 | GetProfileImage | |
104 | [18.0.0+] GetProfileLargeImage | |
1000 | [19.0.0+] GetRequestForMoving |
GetProfileLargeImage
Takes a type-0x6 output buffer, returns an output u32.
As of 18.0.0 this is stubbed, this eventually returns Result 0x167C.
IOAuthProcedureForNintendoAccountLinkage
This is "nn::account::nas::IOAuthProcedureForNintendoAccountLinkage".
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | Returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Returns an #IAsyncContext. |
10 | Suspend | |
100 | GetRequestWithTheme | |
101 | IsNetworkServiceAccountReplaced | |
[2.0.0-5.1.0] 199 | GetUrlForIntroductionOfExtraMembership |
INotifier
This is "nn::account::detail::INotifier".
Cmd | Name |
---|---|
0 | GetSystemEvent |
IProfile
This is "nn::account::profile::IProfile".
Cmd | Name |
---|---|
0 | #Get |
1 | #GetBase |
10 | #GetImageSize |
11 | #LoadImage |
Get
Takes an output type-0x1A buffer for #UserData, returns an output #ProfileBase.
GetBase
No input, returns an output #ProfileBase.
GetImageSize
No input, returns an output u32 for the size of the image buffer.
LoadImage
Takes an output type-0x6 buffer, returns the same output u32 as #GetImageSize.
The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons.
IProfileEditor
This is "nn::account::profile::IProfileEditor".
Cmd | Name |
---|---|
0 | #Get |
1 | #GetBase |
10 | #GetImageSize |
11 | #LoadImage |
100 | #Store |
101 | #StoreWithImage |
Store
Takes a #ProfileBase and an input type-0x19 buffer for #UserData.
StoreWithImage
Takes a #ProfileBase, an input type-0x19 buffer for #UserData, and an input type-0x5 buffer.
IAsyncContext
This is "nn::account::detail::IAsyncContext".
Cmd | Name |
---|---|
0 | GetSystemEvent |
1 | Cancel |
2 | HasDone |
3 | GetResult |
ISessionObject
This is "nn::account::detail::ISessionObject".
Cmd | Name |
---|---|
999 | Dummy |
acc:u0
This is "nn::account::IAccountServiceForApplication".
This was moved to ns with [13.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetUserCount | |
1 | GetUserExistence | |
2 | ListAllUsers | |
3 | ListOpenUsers | |
4 | GetLastOpenedUser | |
5 | GetProfile | Takes an input userID, returns an #IProfile. |
6 | [3.0.0+] GetProfileDigest | |
50 | #IsUserRegistrationRequestPermitted | |
51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
52 | [19.0.0+] TrySelectUserWithoutInteraction | |
60 | [5.0.0-5.1.0] ListOpenContextStoredUsers | |
99 | [6.0.0+] DebugActivateOpenContextRetention | No input, returns an #ISessionObject. |
100 | #InitializeApplicationInfoV0 | |
101 | GetBaasAccountManagerForApplication | Takes an input userID, returns an #IManagerForApplication. |
102 | AuthenticateApplicationAsync | Returns an #IAsyncContext. |
103 | [4.0.0+] CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. |
110 | StoreSaveDataThumbnail | |
111 | ClearSaveDataThumbnail | |
120 | CreateGuestLoginRequest | Returns an #IGuestLoginRequest. |
130 | [5.0.0+] LoadOpenContext | |
131 | [6.0.0+] ListOpenContextStoredUsers | |
140 | [6.0.0+] #InitializeApplicationInfo | |
141 | [6.0.0+] ListQualifiedUsers | |
150 | [6.0.0+] IsUserAccountSwitchLocked |
InitializeApplicationInfo* is used by the user-process during service init.
InitializeApplicationInfoV0
Takes a PID and an input u64 pid_placeholder, no output.
InitializeApplicationInfo
Takes a PID and an input u64 pid_placeholder, no output.
IGuestLoginRequest
This is "nn::account::baas::IGuestLoginRequest".
Cmd | Name |
---|---|
0 | GetSessionId |
[1.0.0-2.3.0] 11 | |
12 | GetAccountId |
13 | GetLinkedNintendoAccountId |
14 | GetNickname |
15 | GetProfileImage |
21 | [3.0.0+] LoadIdTokenCache |
IManagerForApplication
This is "nn::account::baas::IManagerForApplication".
Cmd | Name | Notes |
---|---|---|
0 | CheckAvailability | |
1 | GetAccountId | |
2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
4 | [19.0.0+] LoadIdTokenCache | |
130 | GetNintendoAccountUserResourceCacheForApplication | |
150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. |
160 | [5.0.0+] StoreOpenContext | |
170 | [6.0.0+] LoadNetworkServiceLicenseKindAsync | No input, returns an #IAsyncNetworkServiceLicenseKindContext. |
IAsyncNetworkServiceLicenseKindContext
This is "nn::account::detail::IAsyncNetworkServiceLicenseKindContext".
This was added with [6.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetSystemEvent | |
1 | Cancel | |
2 | HasDone | |
3 | GetResult | |
100 | GetNetworkServiceLicenseKind |
acc:u1
This is "nn::account::IAccountServiceForSystemService".
This was moved to ns with [13.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetUserCount | |
1 | GetUserExistence | |
2 | ListAllUsers | |
3 | ListOpenUsers | |
4 | GetLastOpenedUser | |
5 | GetProfile | Returns an #IProfile. |
6 | [3.0.0+] GetProfileDigest | |
50 | #IsUserRegistrationRequestPermitted | |
51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
52 | [19.0.0+] TrySelectUserWithoutInteraction | |
60 | [5.0.0-5.1.0] ListOpenContextStoredUsers | |
99 | [6.0.0+] DebugActivateOpenContextRetention | No input, returns an #ISessionObject. |
100 | GetUserRegistrationNotifier | Returns an #INotifier. |
101 | GetUserStateChangeNotifier | Returns an #INotifier. |
102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. |
103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. |
104 | GetProfileUpdateNotifier | Returns an #INotifier. |
105 | [4.0.0+] CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. |
106 | [9.0.0+] GetProfileSyncNotifier | |
110 | StoreSaveDataThumbnail | |
111 | ClearSaveDataThumbnail | |
112 | LoadSaveDataThumbnail | |
113 | [5.0.0+] GetSaveDataThumbnailExistence | |
120 | [10.0.0+] ListOpenUsersInApplication | |
130 | [6.0.0+] ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. |
140 | [6.0.0+] ListQualifiedUsers | |
150 | [10.0.0-10.2.0] AuthenticateApplicationAsync | |
151 | [12.0.0+] EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
152 | [12.0.0+] LoadSignedDeviceIdentifierCacheForNintendoAccount | |
190 | [1.0.0-9.2.0] GetUserLastOpenedApplication | |
191 | [7.0.0+] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) | |
401 | [18.0.0+] GetPinCodeLength | |
402 | [18.0.0+] GetPinCode | |
997 | [3.0.0+] DebugInvalidateTokenCacheForUser | |
998 | DebugSetUserStateClose | |
999 | DebugSetUserStateOpen |
[10.0.0+] DebugSetUserStateClose/DebugSetUserStateOpen now takes an additional 8-bytes of input.
IOAuthProcedureForUserRegistration
This is "nn::account::nas::IOAuthProcedureForUserRegistration".
This was added with [8.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | No input, returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Takes a type-0x9 input buffer, returns an #IAsyncContext. |
10 | Suspend | |
100 | GetAccountId | |
101 | GetLinkedNintendoAccountId | |
102 | GetNickname | |
103 | GetProfileImage | |
104 | [18.0.0+] GetProfileLargeImage | |
110 | RegisterUserAsync | No input, returns an #IAsyncContext. |
111 | GetUid | |
200 | [17.0.0+] ApplyResponseForUserCreationAsync | |
205 | [17.0.0+] SuspendAfterApplyResponse | |
210 | [17.0.0+] IsProfileAvailable | |
220 | [17.0.0+] RegisterUserAsyncWithoutProfile | |
221 | [17.0.0+] RegisterUserWithProfileAsync | |
230 | [18.0.0+] RegisterUserWithLargeImageProfileAsync |
acc:aa
This is "nn::account::IBaasAccessTokenAccessor".
Cmd | Name | Notes |
---|---|---|
0 | EnsureCacheAsync | Returns an #IAsyncContext. |
1 | LoadCache | |
2 | GetDeviceAccountId | |
50 | [1.0.0-6.2.0] RegisterNotificationTokenAsync | Returns an #IAsyncContext. |
51 | [1.0.0-6.2.0] UnregisterNotificationTokenAsync | Returns an #IAsyncContext. |
dauth:0
This is "nn::dauth::detail::IService".
Cmd | Name |
---|---|
0 | EnsureAuthenticationTokenCacheAsync ([5.0.0-5.1.0] GeneratePostData) |
1 | [6.0.0+] LoadAuthenticationTokenCache |
2 | [6.0.0+] InvalidateAuthenticationTokenCache |
3 | [16.0.0+] IsDeviceAuthenticationTokenCacheAvailable |
10 | [6.0.0+] EnsureEdgeTokenCacheAsync |
11 | [6.0.0+] LoadEdgeTokenCache |
12 | [6.0.0+] InvalidateEdgeTokenCache |
13 | [16.0.0+] IsEdgeTokenCacheAvailable |
20 | [11.0.0+] EnsureApplicationAuthenticationCacheAsync |
21 | [11.0.0+] LoadApplicationAuthenticationTokenCache |
22 | [11.0.0+] LoadApplicationNetworkServiceClientConfigCache |
23 | [11.0.0+] IsApplicationAuthenticationCacheAvailable |
24 | [11.0.0+] InvalidateApplicationAuthenticationCache |
1000 | [15.0.0+] GetInactiveElicenseUsedEvent |
9000 | [15.0.0+] ImportVirtualClientCertificate |
9010 | [15.0.0+] DeleteVirtualClientCertificate |
[10.0.0+] EnsureEdgeTokenCacheAsync now takes an additional 8-bytes of input.
IAsyncResult
This is "nn::dauth::detail::IAsyncResult".
This was added with [6.0.0+].
Cmd | Name |
---|---|
0 | GetResult |
1 | Cancel |
2 | IsAvailable |
3 | GetSystemEvent |
acc:e
This is "nn::account::IAccountEntityServiceForAccountPolicy".
This was added with [13.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetUserCount | |
1 | GetUserExistence | |
2 | ListAllUsers | |
3 | ListOpenUsers | |
4 | GetLastOpenedUser | |
5 | GetProfile | Returns an #IProfile. |
6 | GetProfileDigest | |
50 | #IsUserRegistrationRequestPermitted | |
51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
52 | [19.0.0+] TrySelectUserWithoutInteraction | |
99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. |
100 | GetUserRegistrationNotifier | Returns an #INotifier. |
101 | GetUserStateChangeNotifier | Returns an #INotifier. |
102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. |
103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. |
104 | GetProfileUpdateNotifier | Returns an #INotifier. |
105 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. |
106 | GetProfileSyncNotifier | |
110 | StoreSaveDataThumbnail | |
111 | ClearSaveDataThumbnail | |
112 | LoadSaveDataThumbnail | |
113 | GetSaveDataThumbnailExistence | |
120 | ListOpenUsersInApplication | |
130 | ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. |
140 | ListQualifiedUsers | |
151 | EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
152 | LoadSignedDeviceIdentifierCacheForNintendoAccount | |
170 | GetNasOp2MembershipStateChangeNotifier | |
191 | UpdateNotificationReceiverInfo | |
200 | BeginUserRegistration | |
201 | CompleteUserRegistration | |
202 | CancelUserRegistration | |
203 | DeleteUser | |
204 | SetUserPosition | |
205 | GetProfileEditor | Takes an input userID and returns an #IProfileEditor. |
206 | CompleteUserRegistrationForcibly | |
210 | CreateFloatingRegistrationRequest | Returns an #IFloatingRegistrationRequest. |
211 | CreateProcedureToRegisterUserWithNintendoAccount | Takes a total of 0x4-bytes of input and a handle, returns an #IOAuthProcedureForUserRegistration. |
212 | ResumeProcedureToRegisterUserWithNintendoAccount | Takes a total of 0x14-bytes of input and a handle, returns an #IOAuthProcedureForUserRegistration. |
213 | [17.0.0+] CreateProcedureToCreateUserWithNintendoAccount | |
214 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccount | |
215 | [17.0.0+] ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse | |
230 | AuthenticateServiceAsync | Returns an #IAsyncContext. |
250 | GetBaasAccountAdministrator | Returns an #IAdministrator. |
290 | ProxyProcedureForGuestLoginWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa. |
291 | ProxyProcedureForFloatingRegistrationWithNintendoAccount | Returns an #IOAuthProcedureForExternalNsa. |
299 | SuspendBackgroundDaemon | Returns an #ISessionObject. |
400 | [18.0.0+] SetPinCode | |
401 | [18.0.0+] GetPinCodeLength | |
402 | [18.0.0+] GetPinCode | |
410 | [18.0.0+] GetPinCodeErrorCount | |
411 | [18.0.0+] ResetPinCodeErrorCount | |
412 | [18.0.0+] IncrementPinCodeErrorCount | |
420 | [19.0.0+] SetStartPenaltyTime | |
421 | [19.0.0+] GetStartPenaltyTime | |
900 | SetUserUnqualifiedForDebug | |
901 | UnsetUserUnqualifiedForDebug | |
902 | ListUsersUnqualifiedForDebug | |
910 | [16.0.0+] RefreshFirmwareSettingsForDebug | |
997 | DebugInvalidateTokenCacheForUser | |
998 | DebugSetUserStateClose | |
999 | DebugSetUserStateOpen | |
1000 | CreateIAccountEntityServiceForApplication | Returns an #IAccountEntityServiceForApplication. |
1100 | CreateIUserStateManager | Returns an #IUserStateManager. |
10050 | IsUserRegistrationRequestPermittedForAccountPolicy | |
10105 | CheckNetworkServiceAvailabilityAsyncForAccountPolicy |
IProfile
This is "nn::account::profile::IProfile".
Cmd | Name |
---|---|
0 | #Get |
1 | #GetBase |
10 | #GetImageSize |
11 | #LoadImage |
20 | [18.0.0+] GetLargeImageSize |
21 | [18.0.0+] LoadLargeImage |
30 | [18.0.0+] GetImageId |
40 | [19.0.0+] GetStableUserId |
Get
Takes an output type-0x1A buffer for #UserData, returns an output #ProfileBase.
GetBase
No input, returns an output #ProfileBase.
GetImageSize
No input, returns an output u32 for the size of the image buffer.
LoadImage
Takes an output type-0x6 buffer, returns the same output u32 as #GetImageSize.
The output buffer contains the JPEG profile image icon. This is valid for both Miis and character icons.
IProfileEditor
This is "nn::account::profile::IProfileEditor".
Cmd | Name |
---|---|
0 | #Get |
1 | #GetBase |
10 | #GetImageSize |
11 | #LoadImage |
20 | [18.0.0+] GetLargeImageSize |
21 | [18.0.0+] LoadLargeImage |
30 | [18.0.0+] GetImageId |
40 | [19.0.0+] GetStableUserId |
100 | #Store |
101 | #StoreWithImage |
110 | [18.0.0+] StoreWithLargeImage |
Store
Takes a #ProfileBase and an input type-0x19 buffer for #UserData.
StoreWithImage
Takes a #ProfileBase, an input type-0x19 buffer for #UserData, and an input type-0x5 buffer.
IAsyncContext
This is "nn::account::detail::IAsyncContext".
Cmd | Name |
---|---|
0 | GetSystemEvent |
1 | Cancel |
2 | HasDone |
3 | GetResult |
ISessionObject
This is "nn::account::detail::ISessionObject".
Cmd | Name |
---|---|
999 | Dummy |
INotifier
This is "nn::account::detail::INotifier".
Cmd | Name |
---|---|
0 | GetSystemEvent |
IManagerForSystemService
This is "nn::account::baas::IManagerForSystemService".
Cmd | Name | Notes |
---|---|---|
0 | CheckAvailability | |
1 | GetAccountId | |
2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
3 | [19.0.0+] LoadIdTokenCacheDeprecated ([1.0.0-18.1.0] LoadIdTokenCache) | |
4 | [19.0.0+] LoadIdTokenCache | |
100 | SetSystemProgramIdentification | |
101 | RefreshNotificationTokenAsync | |
110 | GetServiceEntryRequirementCacheForLogin | |
111 | InvalidateServiceEntryRequirementCache | |
113 | GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. |
120 | GetNintendoAccountId | |
121 | CalculateNintendoAccountAuthenticationFingerprint | |
130 | GetNintendoAccountUserResourceCache | |
131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. |
132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
133 | GetNintendoAccountVerificationUrlCache | |
134 | RefreshNintendoAccountVerificationUrlCacheAsync | |
135 | RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
136 | [19.0.0+] GetNintendoAccountUserResourceCache | |
140 | GetNetworkServiceLicenseCache | |
141 | RefreshNetworkServiceLicenseCacheAsync | Returns an #IAsyncContext. |
142 | RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
143 | [15.0.0+] GetNetworkServiceLicenseCacheEx | |
150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. |
160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
180 | [18.0.0+] GetRequestForNintendoAccountReauthentication |
IFloatingRegistrationRequest
This is "nn::account::baas::IFloatingRegistrationRequest".
Cmd | Name | Notes |
---|---|---|
0 | GetSessionId | |
12 | GetAccountId | |
13 | GetLinkedNintendoAccountId | |
14 | GetNickname | |
15 | GetProfileImage | |
16 | [18.0.0+] GetProfileLargeImage | |
21 | LoadIdTokenCache | |
100 | RegisterUser | |
101 | RegisterUserWithUid | |
102 | RegisterNetworkServiceAccountAsync | Returns an #IAsyncContext. |
103 | RegisterNetworkServiceAccountWithUidAsync | Returns an #IAsyncContext. |
110 | SetSystemProgramIdentification | |
111 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
IAdministrator
This is "nn::account::baas::IAdministrator".
Cmd | Name | Notes |
---|---|---|
0 | CheckAvailability | |
1 | GetAccountId | |
2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
3 | LoadIdTokenCache | |
100 | SetSystemProgramIdentification | |
101 | RefreshNotificationTokenAsync | |
110 | GetServiceEntryRequirementCacheForLogin | |
111 | InvalidateServiceEntryRequirementCache | |
113 | GetServiceEntryRequirementCacheForOnlinePlay | Takes a total of 0x8-bytes of input, returns a total of 0x4-bytes of output. |
120 | GetNintendoAccountId | |
121 | CalculateNintendoAccountAuthenticationFingerprint | |
130 | GetNintendoAccountUserResourceCache | |
131 | RefreshNintendoAccountUserResourceCacheAsync | Returns an #IAsyncContext. |
132 | RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
133 | GetNintendoAccountVerificationUrlCache | |
134 | RefreshNintendoAccountVerificationUrlCacheAsync | |
135 | RefreshNintendoAccountVerificationUrlCacheAsyncIfSecondsElapsed | |
140 | GetNetworkServiceLicenseCache | |
141 | RefreshNetworkServiceLicenseCacheAsync | |
142 | RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed | |
150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. |
160 | [15.0.0+] RequiresUpdateNetworkServiceAccountIdTokenCache | |
161 | [16.0.0+] RequireReauthenticationOfNetworkServiceAccount | |
170 | [17.0.0+] CreateDeviceHistoryRequest | |
200 | IsRegistered | |
201 | RegisterAsync | Returns an #IAsyncContext. |
202 | UnregisterAsync | Returns an #IAsyncContext. |
203 | DeleteRegistrationInfoLocally | |
220 | SynchronizeProfileAsync | Returns an #IAsyncContext. |
221 | UploadProfileAsync | Returns an #IAsyncContext. |
222 | SynchronizeProfileAsyncIfSecondsElapsed | Returns an #IAsyncContext. |
250 | IsLinkedWithNintendoAccount | |
251 | CreateProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. |
252 | ResumeProcedureToLinkWithNintendoAccount | Returns an #IOAuthProcedureForNintendoAccountLinkage. |
255 | CreateProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. |
256 | ResumeProcedureToUpdateLinkageStateOfNintendoAccount | Returns an #IOAuthProcedure. |
260 | CreateProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. |
261 | ResumeProcedureToLinkNnidWithNintendoAccount | Returns an #IOAuthProcedure. |
280 | ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount | Returns an #IOAuthProcedure. |
290 | GetRequestForNintendoAccountUserResourceView | |
300 | TryRecoverNintendoAccountUserStateAsync | Returns an #IAsyncContext. |
400 | IsServiceEntryRequirementCacheRefreshRequiredForOnlinePlay | Takes a total of 0x8-bytes of input, returns an output u8. |
401 | RefreshServiceEntryRequirementCacheForOnlinePlayAsync | Takes a total of 0x8-bytes of input, returns an #IAsyncContext. |
410 | [13.1.0+] CheckRequiredLicenseForLexAsync | |
900 | GetAuthenticationInfoForWin | |
901 | ImportAsyncForWin | |
997 | DebugUnlinkNintendoAccountAsync | Returns an #IAsyncContext. |
998 | DebugSetAvailabilityErrorDetail |
IAuthorizationRequest
This is "nn::account::nas::IAuthorizationRequest".
Cmd | Name | Notes |
---|---|---|
0 | GetSessionId | |
10 | InvokeWithoutInteractionAsync | Returns an #IAsyncContext. |
19 | IsAuthorized | |
20 | GetAuthorizationCode | |
21 | GetIdToken | |
22 | GetState |
IOAuthProcedure
This is "nn::account::http::IOAuthProcedure".
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | Returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Returns an #IAsyncContext. |
10 | Suspend |
IOAuthProcedureForExternalNsa
This is "nn::account::nas::IOAuthProcedureForExternalNsa".
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | Returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Returns an #IAsyncContext. |
10 | Suspend | |
100 | GetAccountId | |
101 | GetLinkedNintendoAccountId | |
102 | GetNickname | |
103 | GetProfileImage |
IOAuthProcedureForNintendoAccountLinkage
This is "nn::account::nas::IOAuthProcedureForNintendoAccountLinkage".
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | Returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Returns an #IAsyncContext. |
10 | Suspend | |
100 | GetRequestWithTheme | |
101 | IsNetworkServiceAccountReplaced | |
200 | [16.0.0+] ApplyAsyncWithAuthorizedToken |
IOAuthProcedureForUserRegistration
This is "nn::account::nas::IOAuthProcedureForUserRegistration".
Cmd | Name | Notes |
---|---|---|
0 | PrepareAsync | No input, returns an #IAsyncContext. |
1 | GetRequest | |
2 | ApplyResponse | |
3 | ApplyResponseAsync | Takes a type-0x9 input buffer, returns an #IAsyncContext. |
10 | Suspend | |
100 | GetAccountId | |
101 | GetLinkedNintendoAccountId | |
102 | GetNickname | |
103 | GetProfileImage | |
110 | RegisterUserAsync | No input, returns an #IAsyncContext. |
111 | GetUid |
IAccountEntityServiceForApplication
This is "nn::account::IAccountEntityServiceForApplication".
Cmd | Name | Notes |
---|---|---|
0 | GetUserCount | |
1 | GetUserExistence | |
2 | ListAllUsers | |
3 | ListOpenUsers | |
4 | GetLastOpenedUser | |
5 | GetProfile | Takes an input userID, returns an #IProfile. |
6 | GetProfileDigest | |
50 | #IsUserRegistrationRequestPermitted | |
51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
52 | [19.0.0+] TrySelectUserWithoutInteraction | |
99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. |
100 | #InitializeApplicationInfoV0 | |
101 | GetBaasAccountManagerForApplication | Takes an input userID, returns an #IManagerForApplication. |
102 | AuthenticateApplicationAsync | Returns an #IAsyncContext. |
103 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. |
110 | StoreSaveDataThumbnail | |
111 | ClearSaveDataThumbnail | |
120 | CreateGuestLoginRequest | Returns an #IGuestLoginRequest. |
130 | LoadOpenContext | |
131 | ListOpenContextStoredUsers | |
140 | #InitializeApplicationInfoV1 | |
141 | ListQualifiedUsers | |
150 | IsUserAccountSwitchLocked | |
160 | InitializeApplicationInfoV2 | |
10050 | IsUserRegistrationRequestPermittedForAccountPolicy | |
10100 | InitializeApplicationInfoV0ForAccountPolicy | |
10140 | InitializeApplicationInfoV1ForAccountPolicy | |
10160 | InitializeApplicationInfoV2ForAccountPolicy |
InitializeApplicationInfo* is used by the user-process during service init.
IsUserRegistrationRequestPermitted
Takes a PID, an input u64 pid_reserved, and returns an output u8 bool.
TrySelectUserWithoutInteraction
Takes an input u8 bool isNetworkServiceAccountRequired, returns an output Uid.
InitializeApplicationInfoV0
Takes a PID and an input u64 pid_placeholder, no output.
InitializeApplicationInfoV1
Takes a PID and an input u64 pid_placeholder, no output.
IGuestLoginRequest
This is "nn::account::baas::IGuestLoginRequest".
Cmd | Name |
---|---|
0 | GetSessionId |
12 | GetAccountId |
13 | GetLinkedNintendoAccountId |
14 | GetNickname |
15 | GetProfileImage |
16 | [18.0.0+] GetProfileLargeImage |
21 | LoadIdTokenCache |
IManagerForApplication
This is "nn::account::baas::IManagerForApplication".
Cmd | Name | Notes |
---|---|---|
0 | CheckAvailability | |
1 | GetAccountId | |
2 | EnsureIdTokenCacheAsync | Returns an #IAsyncContext. |
3 | LoadIdTokenCache | |
130 | GetNintendoAccountUserResourceCacheForApplication | |
150 | CreateAuthorizationRequest | Returns an #IAuthorizationRequest. |
160 | StoreOpenContext | |
170 | EnsureIdTokenCacheForOnlinePlayAsync | No input, returns an #IAsyncContextForLoginForOnlinePlay. |
IAsyncContextForLoginForOnlinePlay
This is "nn::account::baas::IAsyncContextForLoginForOnlinePlay".
Cmd | Name | Notes |
---|---|---|
0 | GetSystemEvent | |
1 | Cancel | |
2 | HasDone | |
3 | GetResult | |
100 | GetNetworkServiceLicenseInfoForOnlinePlay |
IUserStateManager
This is "nn::account::detail::IUserStateManager".
Cmd | Name |
---|---|
100 | EnableQualificationLimitation |
101 | DisableQualificationLimitation |
110 | SelectQualifiedUsers |
900 | [14.0.0+] SetUserUnqualifiedForDebug |
901 | [14.0.0+] UnsetUserUnqualifiedForDebug |
902 | [14.0.0+] ListUsersUnqualifiedForDebug |
acc:e:u1
This is "nn::account::IAccountServiceForSystemService".
This was added with [13.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetUserCount | |
1 | GetUserExistence | |
2 | ListAllUsers | |
3 | ListOpenUsers | |
4 | GetLastOpenedUser | |
5 | GetProfile | Returns an #IProfile. |
6 | GetProfileDigest | |
50 | #IsUserRegistrationRequestPermitted | |
51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. |
100 | GetUserRegistrationNotifier | Returns an #INotifier. |
101 | GetUserStateChangeNotifier | Returns an #INotifier. |
102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. |
103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. |
104 | GetProfileUpdateNotifier | Returns an #INotifier. |
105 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. |
106 | GetProfileSyncNotifier | |
110 | StoreSaveDataThumbnail | |
111 | ClearSaveDataThumbnail | |
112 | LoadSaveDataThumbnail | |
113 | GetSaveDataThumbnailExistence | |
120 | ListOpenUsersInApplication | |
130 | ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. |
140 | ListQualifiedUsers | |
151 | EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
152 | LoadSignedDeviceIdentifierCacheForNintendoAccount | |
170 | GetNasOp2MembershipStateChangeNotifier | |
191 | UpdateNotificationReceiverInfo | |
997 | DebugInvalidateTokenCacheForUser | |
998 | DebugSetUserStateClose | |
999 | DebugSetUserStateOpen |
acc:e:u2
This is "nn::account::IAccountServiceForSystemServiceWithProfileEditor".
This was added with [13.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | GetUserCount | |
1 | GetUserExistence | |
2 | ListAllUsers | |
3 | ListOpenUsers | |
4 | GetLastOpenedUser | |
5 | GetProfile | Returns an #IProfile. |
6 | GetProfileDigest | |
50 | #IsUserRegistrationRequestPermitted | |
51 | TrySelectUserWithoutInteractionDeprecated ([1.0.0-18.1.0] #TrySelectUserWithoutInteraction) | |
52 | [19.0.0+] TrySelectUserWithoutInteraction | |
99 | DebugActivateOpenContextRetention | No input, returns an #ISessionObject. |
100 | GetUserRegistrationNotifier | Returns an #INotifier. |
101 | GetUserStateChangeNotifier | Returns an #INotifier. |
102 | GetBaasAccountManagerForSystemService | Returns an #IManagerForSystemService. |
103 | GetBaasUserAvailabilityChangeNotifier | Returns an #INotifier. |
104 | GetProfileUpdateNotifier | Returns an #INotifier. |
105 | CheckNetworkServiceAvailabilityAsync | Returns an #IAsyncContext. |
106 | GetProfileSyncNotifier | |
110 | StoreSaveDataThumbnail | |
111 | ClearSaveDataThumbnail | |
112 | LoadSaveDataThumbnail | |
113 | GetSaveDataThumbnailExistence | |
120 | ListOpenUsersInApplication | |
130 | ActivateOpenContextRetention | Takes a total of 0x8-bytes of input, returns an #ISessionObject. |
140 | ListQualifiedUsers | |
151 | EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync | |
152 | LoadSignedDeviceIdentifierCacheForNintendoAccount | |
170 | GetNasOp2MembershipStateChangeNotifier | |
191 | UpdateNotificationReceiverInfo | |
205 | GetProfileEditor | Takes an input userID and returns an #IProfileEditor. |
401 | [18.0.0+] GetPinCodeLength | |
402 | [18.0.0+] GetPinCode | |
997 | DebugInvalidateTokenCacheForUser | |
998 | DebugSetUserStateClose | |
999 | DebugSetUserStateOpen |
UserData
Offset | Size | Description |
---|---|---|
0x0 | 0x4? | ? |
0x4 | 0x4? | Icon ID. 0 = Mii, the rest are character icon IDs. |
0x8 | 0x1? | Profile icon background color ID |
0x9 | 0x7 | ? |
0x10 | 0x10 | Some ID related to the Mii? All zeros when a character icon is used. |
0x20 | 0x60 | Usually zeros? |
This is a 0x80-byte struct.
ProfileBase
Offset | Size | Description |
---|---|---|
0x0 | 0x10 | userID |
0x10 | 0x8 | POSIX UTC timestamp, for last account edit. |
0x18 | 0x20 | UTF-8 Nickname. Official sw uses strncpy to copy this into another struct (nn::account::Nickname ), with a NUL-byte written after the copied data.
|
This is a 0x38-byte struct.
Uid
This is "nn::account::Uid". This is a 0x10-byte struct. This contains 2 u64s for the UserId.