Display services: Difference between revisions
is hdcp even allowed with tsec broken? is key revocation ever happening? |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
! Cmd || Name || Notes | ! Cmd || Name || Notes | ||
|- | |- | ||
| 1 || CaptureRawImage || | | 1 || [[#CaptureRawImage]] || | ||
|- | |- | ||
| 2 || CaptureRawImageWithTimeout || | | 2 || [[#CaptureRawImageWithTimeout]] || | ||
|- | |- | ||
| 3 || [5.0.0+] AttachSharedBuffer || Takes a total of 8-bytes of input, no output. | | 3 || [5.0.0+] AttachSharedBuffer || Takes a total of 8-bytes of input, no output. | ||
Line 34: | Line 34: | ||
| 1012 || NotifyTakingScreenShotFailed || Takes a total of 8-bytes of input, no output. | | 1012 || NotifyTakingScreenShotFailed || Takes a total of 8-bytes of input, no output. | ||
|- | |- | ||
| 1101 || [4.0.0+] SetupOverlayMovieThumbnail || | | 1101 || [4.0.0+] [[#SetupOverlayMovieThumbnail]] || | ||
|- | |- | ||
| 1106 || [4.0.0+] ? || | | 1106 || [4.0.0+] ? || | ||
Line 45: | Line 45: | ||
|- | |- | ||
| 1203 || [3.0.0+] ReadRawScreenShotReadStream || Takes a total of 8-bytes of input and a type-0x6 output buffer, returns a total of 8-bytes of output. | | 1203 || [3.0.0+] ReadRawScreenShotReadStream || Takes a total of 8-bytes of input and a type-0x6 output buffer, returns a total of 8-bytes of output. | ||
|- | |||
| 1204 || [9.0.0+] || Takes a total of 0x10-bytes of input and a type-0x46 output buffer, returns a total of 8-bytes of output. | |||
|} | |} | ||
Line 55: | Line 57: | ||
[8.0.0+] Cmd210 and cmd1004 now takes an additional type-0x15 input buffer. | [8.0.0+] Cmd210 and cmd1004 now takes an additional type-0x15 input buffer. | ||
== | == CaptureRawImage == | ||
Takes a type-0x46 output buffer, an input u32 '''layer_stack''', two input u64s '''width'''/'''height''', an input s64 '''buffer_count''', and an input s64 '''buffer_index'''. | Takes a type-0x46 output buffer, an input u32 '''layer_stack''', two input u64s '''width'''/'''height''', an input s64 '''buffer_count''', and an input s64 '''buffer_index'''. | ||
Line 68: | Line 70: | ||
Stubbed with [5.0.0+], where it now returns error 0x7FECE. | Stubbed with [5.0.0+], where it now returns error 0x7FECE. | ||
== | == CaptureRawImageWithTimeout == | ||
Calls the same internal func as | Calls the same internal func as [[#CaptureRawImage]], where the last param is an additional cmd input u64 instead of hard-coded value 0x5f5e100. | ||
Stubbed with [5.0.0+], where it now returns error 0x7FECE. | Stubbed with [5.0.0+], where it now returns error 0x7FECE. | ||
== | == SetupOverlayMovieThumbnail == | ||
Takes two input u64s '''width'''/'''height''', a 0x18-byte input struct, and two type-0x46 output buffers. | Takes two input u64s '''width'''/'''height''', a 0x18-byte input struct, and two type-0x46 output buffers. | ||
Line 85: | Line 87: | ||
Takes a 0x40-byte input struct, two input u64s '''width'''/'''height''', a 0x18-byte input struct, two type-0x15 input buffers, a type-0x6 output buffer, and two type-0x46 output buffers, returns 3 output u64s. | Takes a 0x40-byte input struct, two input u64s '''width'''/'''height''', a 0x18-byte input struct, two type-0x15 input buffers, a type-0x6 output buffer, and two type-0x46 output buffers, returns 3 output u64s. | ||
'''width'''/'''height''' have same requirements as [[# | '''width'''/'''height''' have same requirements as [[#SetupOverlayMovieThumbnail]]. The size of the type-0x6 buffer must be at least 0x7D000. The requirements for the type-0x46 buffers are the same as [[#SetupOverlayMovieThumbnail]]. | ||
[5.0.0+] Now takes a total of 0x68-bytes of input instead of 0x30. | [5.0.0+] Now takes a total of 0x68-bytes of input instead of 0x30. | ||
Line 92: | Line 94: | ||
Takes a 0x40-byte input struct, two input u64s '''width'''/'''height''', a 0x18-byte input struct, two type-0x15 input buffers, a type-0x6 output buffer, and a type-0x45 input buffer, returns 3 output u64s. | Takes a 0x40-byte input struct, two input u64s '''width'''/'''height''', a 0x18-byte input struct, two type-0x15 input buffers, a type-0x6 output buffer, and a type-0x45 input buffer, returns 3 output u64s. | ||
'''width'''/'''height''' have same requirements as [[# | '''width'''/'''height''' have same requirements as [[#SetupOverlayMovieThumbnail]]. The size of the type-0x6 buffer must be at least 0x7D000. The size of the type-0x45 buffer must be at least 0x384000. | ||
[5.0.0+] Now takes a total of 0x68-bytes of input instead of 0x30. | [5.0.0+] Now takes a total of 0x68-bytes of input instead of 0x30. | ||
Line 110: | Line 112: | ||
|- | |- | ||
| 204 || [3.0.0+] SaveEditedScreenShotEx0 | | 204 || [3.0.0+] SaveEditedScreenShotEx0 | ||
|- | |||
| 206 || [?+] | |||
|- | |- | ||
| 208 || [5.0.0+] SaveScreenShotOfMovieEx1 | | 208 || [5.0.0+] SaveScreenShotOfMovieEx1 | ||
Line 207: | Line 211: | ||
| 0 || [[#vi:u|GetDisplayService]] | | 0 || [[#vi:u|GetDisplayService]] | ||
|- | |- | ||
| 1 || [9.0.0+] [[#vi:u|GetDisplayServiceWithProxyNameExchange]] | |||
|} | |} | ||
== GetDisplayService == | == GetDisplayService == | ||
Returns an [[#IApplicationDisplayService]]. Takes an input u32, user-processes use 0 or 1, with 0 for regular-applications normally. 0 = user-service(vi:u), 1 = system/manager service (vi:s/vi:m). Returns an error when using value 1 with vi:u(same error listed below for IApplicationDisplayService for unavailable commands), however passing 1 to vi:s/vi:m results in the IApplicationDisplayService having greater privileges. | Returns an [[#IApplicationDisplayService]]. Takes an input u32, user-processes use 0 or 1, with 0 for regular-applications normally. 0 = user-service(vi:u), 1 = system/manager service (vi:s/vi:m). Returns an error when using value 1 with vi:u(same error listed below for IApplicationDisplayService for unavailable commands), however passing 1 to vi:s/vi:m results in the IApplicationDisplayService having greater privileges. | ||
== GetDisplayServiceWithProxyNameExchange == | |||
Takes an input u32, and returns an [[#IApplicationDisplayService]]. | |||
= vi:s = | = vi:s = |