Shared Database services: Difference between revisions

No edit summary
No edit summary
Line 332: Line 332:
| 16 || [10.0.0+] [[#QueryApplicationPlayStatisticsByUserAccountIdForSystemV0]] ([6.0.0-9.2.0] QueryApplicationPlayStatisticsByUserAccountIdForSystem)
| 16 || [10.0.0+] [[#QueryApplicationPlayStatisticsByUserAccountIdForSystemV0]] ([6.0.0-9.2.0] QueryApplicationPlayStatisticsByUserAccountIdForSystem)
|-
|-
| 17 || [10.0.0+] QueryLastPlayTime
| 17 || [10.0.0+] [[#QueryLastPlayTime]]
|-
|-
| 18 || [10.0.0+] QueryApplicationPlayStatisticsForSystem
| 18 || [10.0.0+] [[#QueryApplicationPlayStatisticsForSystem]]
|-
|-
| 19 || [10.0.0+] QueryApplicationPlayStatisticsByUserAccountIdForSystem
| 19 || [10.0.0+] QueryApplicationPlayStatisticsByUserAccountIdForSystem
Line 374: Line 374:
== QueryLastPlayTimeV0 ==
== QueryLastPlayTimeV0 ==
Takes a type-0x6 output buffer containing an array of [[#LastPlayTime]], and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries.
Takes a type-0x6 output buffer containing an array of [[#LastPlayTime]], and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries.
[10.0.0+] This now calls the impl func for [[#QueryLastPlayTime]] with flag=0.


== QueryPlayEvent ==
== QueryPlayEvent ==
Line 394: Line 396:


The number of entries in each array is the same.
The number of entries in each array is the same.
[10.0.0+] This now calls the impl func for [[#QueryApplicationPlayStatisticsForSystem]] with flag=0.


== QueryRecentlyPlayedApplication ==
== QueryRecentlyPlayedApplication ==
Line 411: Line 415:


Same as [[#QueryApplicationPlayStatisticsForSystem]] except this gets playstats specific to '''Uid'''.
Same as [[#QueryApplicationPlayStatisticsForSystem]] except this gets playstats specific to '''Uid'''.
== QueryLastPlayTime ==
Takes an input u8 bool, a type-0x6 output buffer containing an array of [[#LastPlayTime]], and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries.
== QueryApplicationPlayStatisticsForSystem ==
Takes an input u8 bool, a type-0x6 output buffer containing an array of [[#ApplicationPlayStatistics]] and a type-0x5 input buffer containing an array of u64 '''ApplicationId'''. Returns an output s32 for actual total output entries.
The number of entries in each array is the same.


= avm =
= avm =
Line 619: Line 631:


Filtering:
Filtering:
* [[#QueryAppletEvent]], [[#QueryLastPlayTime]], and [[#QueryApplicationPlayStatisticsForSystem]]: PlayEvent +0x1C must be 0, +0xC must be 1, and [[#PlayLogPolicy]] must be 0. [10.0.0+] [[#QueryAppletEvent]] will also allow [[#PlayLogPolicy]] value 3, if the input flag is set.
* [[#QueryAppletEvent]], [[#QueryLastPlayTime]], and [[#QueryApplicationPlayStatisticsForSystem]]: PlayEvent +0x1C must be 0, and [[#PlayLogPolicy]] must be 0. [10.0.0+] These will also allow [[#PlayLogPolicy]] value 3, if the input flag is set.
** With [[#QueryLastPlayTime]]/[[#QueryApplicationPlayStatisticsForSystem]] the [[Applet_Manager_services#AppletId|AppletId]] must be 1. [10.0.0+] These now also allow [[Applet_Manager_services#AppletId|AppletId]] 0x1F/0x20.
* [[#QueryPlayStatisticsByApplicationId]]: PlayEvent +0x1C must be 0, +0xC must be 1 ([10.0.0+] or 0x1F/0x20), and the titleID must match. [10.0.0+] [[#PlayLogPolicy]] must be 0. Value 3 is allowed if the input flag is set.
* [[#QueryPlayStatisticsByApplicationId]]: PlayEvent +0x1C must be 0, +0xC must be 1 ([10.0.0+] or 0x1F/0x20), and the titleID must match. [10.0.0+] [[#PlayLogPolicy]] must be 0. Value 3 is allowed if the input flag is set.
* [[#QueryAccountEvent]]: PlayEvent +0x1C must be 1 and PlayEvent +0x18 must be <=1.
* [[#QueryAccountEvent]]: PlayEvent +0x1C must be 1 and PlayEvent +0x18 must be <=1.