IApplicationManagerInterface.cs 914 B

12345678910111213141516171819202122232425262728
  1. using LibHac.Ns;
  2. using Ryujinx.Common.Utilities;
  3. using System;
  4. namespace Ryujinx.HLE.HOS.Services.Ns
  5. {
  6. [Service("ns:am")]
  7. class IApplicationManagerInterface : IpcService
  8. {
  9. public IApplicationManagerInterface(ServiceCtx context) { }
  10. [CommandCmif(400)]
  11. // GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>)
  12. public ResultCode GetApplicationControlData(ServiceCtx context)
  13. {
  14. byte source = (byte)context.RequestData.ReadInt64();
  15. ulong titleId = context.RequestData.ReadUInt64();
  16. ulong position = context.Request.ReceiveBuff[0].Position;
  17. ApplicationControlProperty nacp = context.Device.Processes.ActiveApplication.ApplicationControlProperties;
  18. context.Memory.Write(position, SpanHelpers.AsByteSpan(ref nacp).ToArray());
  19. return ResultCode.Success;
  20. }
  21. }
  22. }