Account services: Difference between revisions
No edit summary |
No edit summary |
||
(80 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
= acc:su = | |||
This is "nn::account::IAccountServiceForAdministrator". | |||
This was moved to [[NS_Services|ns]] 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 || [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-19.0.1] 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]]. | |||
|- | |||
| 251 || [20.0.0+] SynchronizeNetworkServiceAccountsSnapshotAsync || | |||
|- | |||
| 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]] (formerly [[#IOAuthProcedureForGuestLogin]] with [1.0.0-2.3.0]). | |||
|- | |||
| 291 || [3.0.0+] ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. | |||
|- | |||
| 292 || [20.0.0+] ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser || | |||
|- | |||
| 293 || [20.0.0+] ProxyProcedureForDeviceMigrationDownload || | |||
|- | |||
| 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]]. | |||
|- | |||
| 350 || [20.0.0+] CreateDeviceMigrationUserExportRequest || | |||
|- | |||
| 351 || [20.0.0+] UploadNasCredential || | |||
|- | |||
| 352 || [20.0.0+] CreateDeviceMigrationUserImportRequest || | |||
|- | |||
| 353 || [20.0.0+] DeleteUserMigrationSaveData || | |||
|- | |||
| 400 || [18.0.0+] SetPinCode || | |||
|- | |||
| 401 || [18.0.0+] GetPinCodeLength || | |||
|- | |||
| 402 || [18.0.0-19.0.1] GetPinCode || | |||
|- | |||
| 403 || [20.0.0+] GetPinCodeParity || | |||
|- | |||
| 404 || [20.0.0+] VerifyPinCode || | |||
|- | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden || | |||
|- | |||
| 410 || [18.0.0+] GetPinCodeErrorCount || | |||
|- | |||
| 411 || [18.0.0-19.0.1] ResetPinCodeErrorCount || | |||
|- | |||
| 412 || [18.0.0-19.0.1] IncrementPinCodeErrorCount || | |||
|- | |||
| 413 || [20.0.0+] SetPinCodeErrorCount || | |||
|- | |||
| 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". | |||
{| 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-19.0.1] GetRequestForNintendoAccountReauthentication || | |||
|- | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount || | |||
|- | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount || | |||
|} | |||
== IFloatingRegistrationRequest == | |||
This is "nn::account::baas::IFloatingRegistrationRequest". | |||
Added with [3.0.0+]. | |||
{| class="wikitable" border="1" | |||
|- | |||
! 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". | |||
{| 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 || [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-19.0.1] GetRequestForNintendoAccountReauthentication || | |||
|- | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount || | |||
|- | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount || | |||
|- | |||
| 200 || IsRegistered || | |||
|- | |||
| 201 || RegisterAsync || Returns an [[#IAsyncContext]]. | |||
|- | |||
| 202 || UnregisterAsync || Returns an [[#IAsyncContext]]. | |||
|- | |||
| 203 || DeleteRegistrationInfoLocally || | |||
|- | |||
| 204 || [19.0.0-19.0.1] 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". | |||
{| 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". | |||
Added with [3.0.0+]. | |||
{| 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 || | |||
|- | |||
| 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 == | |||
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 || | |||
|- | |||
| [2.0.0-5.1.0] 199 || GetUrlForIntroductionOfExtraMembership || | |||
|} | |||
== INotifier == | |||
This is "nn::account::detail::INotifier". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || GetSystemEvent | |||
|} | |||
== IProfile == | |||
This is "nn::account::profile::IProfile". | |||
{| class="wikitable" border="1" | |||
|- | |||
! 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". | |||
{| class="wikitable" border="1" | |||
|- | |||
! 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". | |||
{| 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 | |||
|} | |||
= acc:u0 = | |||
This is "nn::account::IAccountServiceForApplication". | |||
This was moved to [[NS_Services|ns]] with [13.0.0+]. | |||
{| 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 || [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". | |||
{| class="wikitable" border="1" | |||
|- | |||
! 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". | |||
{| 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 || | |||
|- | |||
| 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+]. | |||
{| 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 was moved to [[NS_Services|ns]] 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 || [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-19.0.1] UpdateNotificationReceiverInfo ([5.0.0-5.1.0] ActivateOpenContextHolder) || | |||
|- | |||
| 401 || [18.0.0+] GetPinCodeLength || | |||
|- | |||
| 402 || [18.0.0-19.0.1] GetPinCode || | |||
|- | |||
| 403 || [20.0.0+] GetPinCodeParity || | |||
|- | |||
| 404 || [20.0.0+] VerifyPinCode || | |||
|- | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden || | |||
|- | |||
| 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+]. | |||
{| 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 || | |||
|} | |||
= acc:aa = | |||
This is "nn::account::IBaasAccessTokenAccessor". | |||
{| class="wikitable" border="1" | |||
|- | |||
! 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". | |||
{| 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 || [13.0.0-19.0.1] 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]]. | |||
|- | |||
| 251 || [20.0.0+] SynchronizeNetworkServiceAccountsSnapshotAsync || | |||
|- | |||
| 290 || ProxyProcedureForGuestLoginWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. | |||
|- | |||
| 291 || ProxyProcedureForFloatingRegistrationWithNintendoAccount || Returns an [[#IOAuthProcedureForExternalNsa]]. | |||
|- | |||
| 292 || [20.0.0+] ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser || | |||
|- | |||
| 293 || [20.0.0+] ProxyProcedureForDeviceMigrationDownload || | |||
|- | |||
| 299 || SuspendBackgroundDaemon || Returns an [[#ISessionObject]]. | |||
|- | |||
| 350 || [20.0.0+] CreateDeviceMigrationUserExportRequest || | |||
|- | |||
| 351 || [20.0.0+] UploadNasCredential || | |||
|- | |||
| 352 || [20.0.0+] CreateDeviceMigrationUserImportRequest || | |||
|- | |||
| 353 || [20.0.0+] DeleteUserMigrationSaveData || | |||
|- | |||
| 400 || [18.0.0+] SetPinCode || | |||
|- | |||
| 401 || [18.0.0+] GetPinCodeLength || | |||
|- | |||
| 402 || [18.0.0-19.0.1] GetPinCode || | |||
|- | |||
| 403 || [20.0.0+] GetPinCodeParity || | |||
|- | |||
| 404 || [20.0.0+] VerifyPinCode || | |||
|- | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden || | |||
|- | |||
| 410 || [18.0.0+] GetPinCodeErrorCount || | |||
|- | |||
| 411 || [18.0.0-19.0.1] ResetPinCodeErrorCount || | |||
|- | |||
| 412 || [18.0.0-19.0.1] IncrementPinCodeErrorCount || | |||
|- | |||
| 413 || [20.0.0+] SetPinCodeErrorCount || | |||
|- | |||
| 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" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || [[#Get]] | ||
|- | |- | ||
| 1 || | | 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]] | ||
|- | |- | ||
| 110 || | | 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-19.0.1] GetRequestForNintendoAccountReauthentication || | |||
|- | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount || | |||
|- | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount || | |||
|} | |||
== 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 || [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-19.0.1] GetRequestForNintendoAccountReauthentication || | |||
|- | |||
| 181 || [20.0.0+] CreateProcedureToReauthenticateNintendoAccount || | |||
|- | |||
| 182 || [20.0.0+] ResumeProcedureToReauthenticateNintendoAccount || | |||
|- | |||
| 200 || IsRegistered || | |||
|- | |||
| 201 || RegisterAsync || Returns an [[#IAsyncContext]]. | |||
|- | |||
| 202 || UnregisterAsync || Returns an [[#IAsyncContext]]. | |||
|- | |||
| 203 || DeleteRegistrationInfoLocally || | |||
|- | |||
| 204 || [19.0.0-19.0.1] 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". | |||
{| 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 || [13.0.0-19.0.1] UpdateNotificationReceiverInfo || | |||
|- | |||
| 205 || GetProfileEditor || Takes an input userID and returns an [[#IProfileEditor]]. | |||
|- | |||
| 401 || [18.0.0+] GetPinCodeLength || | |||
|- | |||
| 402 || [18.0.0-19.0.1] GetPinCode || | |||
|- | |||
| 403 || [20.0.0+] GetPinCodeParity || | |||
|- | |||
| 404 || [20.0.0+] VerifyPinCode || | |||
|- | |||
| 405 || [20.0.0+] IsPinCodeVerificationForbidden || | |||
|- | |||
| 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]] |