예제 #1
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                Initialize(im.Pid, im.GetData <ulong>(8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // GetService
                var ret = GetService(im.GetBytes(8, 0x8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 2: {                     // RegisterService
                var ret = RegisterService(im.GetBytes(8, 0x8), im.GetData <byte>(16), im.GetData <uint>(20));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 3: {                     // UnregisterService
                UnregisterService(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IUserInterface: {im.CommandId}");
            }
        }
예제 #2
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateFriendService
                var ret = CreateFriendService();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // CreateNotificationService
                var ret = CreateNotificationService(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 2: {                     // CreateDaemonSuspendSessionService
                var ret = CreateDaemonSuspendSessionService();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IServiceCreator: {im.CommandId}");
            }
        }
예제 #3
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // PrepareAsync
                var ret = PrepareAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetRequest
                GetRequest(im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x1A, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // ApplyResponse
                ApplyResponse(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // ApplyResponseAsync
                var ret = ApplyResponseAsync(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 10: {                     // Suspend
                Suspend(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 100: {                     // GetRequestWithTheme
                GetRequestWithTheme(im.GetData <uint>(8), im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x1A, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 101: {                     // IsNetworkServiceAccountReplaced
                var ret = IsNetworkServiceAccountReplaced();
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

            case 199: {                     // GetUrlForIntroductionOfExtraMembership
                GetUrlForIntroductionOfExtraMembership(im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IOAuthProcedureForNintendoAccountLinkage: {im.CommandId}");
            }
        }
예제 #4
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateBcatService
                var ret = CreateBcatService(im.GetData <ulong>(8), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // CreateDeliveryCacheStorageService
                var ret = CreateDeliveryCacheStorageService(im.GetData <ulong>(8), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 2: {                     // CreateDeliveryCacheStorageServiceWithApplicationId
                var ret = CreateDeliveryCacheStorageServiceWithApplicationId(im.GetData <ulong>(8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IServiceCreator: {im.CommandId}");
            }
        }
예제 #5
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateFileService
                var ret = CreateFileService();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // CreateDirectoryService
                var ret = CreateDirectoryService();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 10: {                     // EnumerateDeliveryCacheDirectory
                EnumerateDeliveryCacheDirectory(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IDeliveryCacheStorageService: {im.CommandId}");
            }
        }
예제 #6
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                Unknown0(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // Unknown1
                Unknown1(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                var ret = Unknown2(null);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 3: {                     // Unknown3
                var ret = Unknown3(null);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IServerSession: {im.CommandId}");
            }
        }
예제 #7
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // OpenLocationResolver
                var ret = OpenLocationResolver(null);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // OpenRegisteredLocationResolver
                var ret = OpenRegisteredLocationResolver();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 2: {                     // RefreshLocationResolver
                RefreshLocationResolver(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // OpenAddOnContentLocationResolver
                var ret = OpenAddOnContentLocationResolver();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ILocationResolverManager: {im.CommandId}");
            }
        }
예제 #8
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                var ret = Unknown0(im.GetData <uint>(8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetPadSession
                var ret = GetPadSession(im.GetData <uint>(8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 2: {                     // Unknown2
                var ret = Unknown2(im.GetData <uint>(8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 3: {                     // Unknown3
                var ret = Unknown3(im.GetData <uint>(8));
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

            case 4: {                     // Unknown4
                Unknown4(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 5: {                     // Unknown5
                Unknown5(im.GetData <byte>(8), im.GetData <uint>(12));
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // Unknown6
                Unknown6(im.GetData <uint>(8));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IManager: {im.CommandId}");
            }
        }
예제 #9
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CheckAvailability
                CheckAvailability();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // GetAccountId
                var ret = GetAccountId();
                om.Initialize(0, 0, 8);
                om.SetData(8, ret);
                break;
            }

            case 2: {                     // EnsureIdTokenCacheAsync
                var ret = EnsureIdTokenCacheAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 3: {                     // LoadIdTokenCache
                LoadIdTokenCache(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 130: {                     // GetNintendoAccountUserResourceCacheForApplication
                GetNintendoAccountUserResourceCacheForApplication(out var _0, im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                break;
            }

            case 150: {                     // CreateAuthorizationRequest
                var ret = CreateAuthorizationRequest(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 160: {                     // StoreOpenContext
                var ret = StoreOpenContext(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IManagerForApplication: {im.CommandId}");
            }
        }
예제 #10
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateProcess
                var ret = CreateProcess(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetProgramInfo
                GetProgramInfo(null, im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // RegisterTitle
                var ret = RegisterTitle(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // UnregisterTitle
                UnregisterTitle(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IProcessManagerInterface: {im.CommandId}");
            }
        }
예제 #11
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // OpenEnsureNetworkClockAvailabilityService
                var ret = OpenEnsureNetworkClockAvailabilityService(im.GetData <uint>(8), im.GetData <uint>(12));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 100: {                     // SuspendAutonomicTimeCorrection
                SuspendAutonomicTimeCorrection();
                om.Initialize(0, 0, 0);
                break;
            }

            case 101: {                     // ResumeAutonomicTimeCorrection
                ResumeAutonomicTimeCorrection();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IStaticService: {im.CommandId}");
            }
        }
예제 #12
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // BindClientProcess
                BindClientProcess(Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // Unknown1
                Unknown1(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                Unknown2(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                Unknown3(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // Unknown4
                var ret = Unknown4(null);
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 5: {                     // Unknown5
                Unknown5(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // GetInterfaceStateChangeEvent
                var ret = GetInterfaceStateChangeEvent();
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 7: {                     // GetClientIfSession
                GetClientIfSession(null, im.GetBuffer <byte>(0x6, 0), im.GetBuffer <byte>(0x6, 1), out var _2);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(_2));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IClientRootSession: {im.CommandId}");
            }
        }
예제 #13
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // EnsureCacheAsync
                var ret = EnsureCacheAsync(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // LoadCache
                LoadCache(im.GetBytes(8, 0x10), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 2: {                     // GetDeviceAccountId
                var ret = GetDeviceAccountId(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 8);
                om.SetData(8, ret);
                break;
            }

            case 50: {                     // RegisterNotificationTokenAsync
                var ret = RegisterNotificationTokenAsync(im.GetBytes(8, 0x28), im.GetBytes(48, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 51: {                     // UnregisterNotificationTokenAsync
                var ret = UnregisterNotificationTokenAsync(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IBaasAccessTokenAccessor: {im.CommandId}");
            }
        }
예제 #14
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 10: {                     // TryGetLastMigrationInfo
                var ret = TryGetLastMigrationInfo();
                om.Initialize(0, 0, 0);
                break;
            }

            case 100: {                     // CreateServer
                var ret = CreateServer(null, Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 101: {                     // ResumeServer
                var ret = ResumeServer(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 200: {                     // CreateClient
                var ret = CreateClient(null, Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 201: {                     // ResumeClient
                var ret = ResumeClient(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IService: {im.CommandId}");
            }
        }
예제 #15
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateContext
                var ret = CreateContext(im.GetData <uint>(8), im.GetData <ulong>(16), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetContextCount
                var ret = GetContextCount();
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 2: {                     // GetCertificates
                GetCertificates(im.GetBuffer <byte>(0x5, 0), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 3: {                     // GetCertificateBufSize
                var ret = GetCertificateBufSize(im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 4: {                     // DebugIoctl
                DebugIoctl(im.GetData <ulong>(8), im.GetBuffer <byte>(0x5, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // SetInterfaceVersion
                SetInterfaceVersion(im.GetData <uint>(8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // FlushSessionCache
                var ret = FlushSessionCache(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ISslService: {im.CommandId}");
            }
        }
예제 #16
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // PrepareAsync
                var ret = PrepareAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetRequest
                GetRequest(im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x1A, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // ApplyResponse
                ApplyResponse(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // ApplyResponseAsync
                var ret = ApplyResponseAsync(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 10: {                     // Suspend
                Suspend(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IOAuthProcedure: {im.CommandId}");
            }
        }
예제 #17
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateService
                var ret = CreateService(im.GetData <ulong>(8), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // CreateServiceWithoutInitialize
                var ret = CreateServiceWithoutInitialize(im.GetData <ulong>(8), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IParentalControlServiceFactory: {im.CommandId}");
            }
        }
예제 #18
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // OpenReport
                var ret = OpenReport();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // OpenManager
                var ret = OpenManager();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ISession: {im.CommandId}");
            }
        }
예제 #19
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 4: {                     // CreateGeneralServiceOld
                var ret = CreateGeneralServiceOld();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 5: {                     // CreateGeneralService
                var ret = CreateGeneralService(im.GetData <ulong>(8), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IStaticService: {im.CommandId}");
            }
        }
예제 #20
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 1: {                     // OpenContinuousRecorder
                var ret = OpenContinuousRecorder(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 2: {                     // OpenGameMovieTrimmer
                var ret = OpenGameMovieTrimmer(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IGrcService: {im.CommandId}");
            }
        }
예제 #21
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // OpenSessionForDev
                var ret = OpenSessionForDev(im.GetData <uint>(8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // OpenSession
                var ret = OpenSession(im.GetData <uint>(8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IManager: {im.CommandId}");
            }
        }
예제 #22
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetSessionId
                GetSessionId(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 10: {                     // InvokeWithoutInteractionAsync
                var ret = InvokeWithoutInteractionAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 19: {                     // IsAuthorized
                var ret = IsAuthorized();
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

            case 20: {                     // GetAuthorizationCode
                GetAuthorizationCode(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 21: {                     // GetIdToken
                GetIdToken(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 22: {                     // GetState
                GetState(im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IAuthorizationRequest: {im.CommandId}");
            }
        }
예제 #23
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                var ret = Initialize(im.GetBytes(8, 0x8), im.GetData <uint>(16), Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetWorkBufferSize
                var ret = GetWorkBufferSize(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 2: {                     // InitializeMultiStream
                var ret = InitializeMultiStream(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 3: {                     // GetWorkBufferSizeMultiStream
                var ret = GetWorkBufferSizeMultiStream(im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IHardwareOpusDecoderManager: {im.CommandId}");
            }
        }
예제 #24
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetPmModule
                var ret = GetPmModule();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IPmService: {im.CommandId}");
            }
        }
예제 #25
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateUserLocalCommunicationService
                var ret = CreateUserLocalCommunicationService();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IUserServiceCreator: {im.CommandId}");
            }
        }
예제 #26
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetServiceInterface
                var ret = GetServiceInterface(im.GetData <ulong>(8), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IServiceManager: {im.CommandId}");
            }
        }
예제 #27
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateDebugInterface
                var ret = CreateDebugInterface();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IDebugManager: {im.CommandId}");
            }
        }
예제 #28
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // AcquireRegistrar
                var ret = AcquireRegistrar();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // DeleteProperties
                DeleteProperties(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IWriter: {im.CommandId}");
            }
        }
예제 #29
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // RegisterClassDriver
                RegisterClassDriver(null, Kernel.Get <KObject>(im.GetCopy(0)), out var _0, out var _1);
                om.Initialize(1, 1, 0);
                om.Copy(0, CreateHandle(_0, copy: true));
                om.Move(0, CreateHandle(_1));
                break;
            }

            case 1: {                     // QueryFunctionsUnregistered
                QueryFunctionsUnregistered(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IManager: {im.CommandId}");
            }
        }
예제 #30
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // OpenSession
                var ret = OpenSession();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetPerformanceMode
                var ret = GetPerformanceMode();
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IManager: {im.CommandId}");
            }
        }