Takes a PID-descriptor, a type-0x6 buffer for the output [[#NativeWindow]], a [[#DisplayName]](which was previously used with [[#OpenDisplay]]), an u64 ExternalLayerId, and an u64 [[AM_services|AppletResourceUserId]]. Returns an output u64 LayerHandle.
+
Takes a PID-descriptor, a type-0x6 buffer for the output [[#NativeWindow]], a [[#DisplayName]](which was previously used with [[#OpenDisplay]]), an u64 ExternalLayerId, and an u64 [[AM_services|AppletResourceUserId]]. Returns an output u64 NativeWindow_Size.
Official user-processes use an ExternalLayerId stored in a global state field if non-zero, otherwise:
Official user-processes use an ExternalLayerId stored in a global state field if non-zero, otherwise:
Line 140:
Line 140:
== CreateStrayLayer ==
== CreateStrayLayer ==
−
Takes a type-0x6 buffer for the output [[#NativeWindow]], an u32, and an u64. Returns two output u64s: ExternalLayerId and LayerHandle.
+
Takes a type-0x6 buffer for the output [[#NativeWindow]], an u32, and an u64. Returns two output u64s: ExternalLayerId and NativeWindow_Size.
== DestroyStrayLayer ==
== DestroyStrayLayer ==
Line 307:
Line 307:
=NativeWindow=
=NativeWindow=
−
Size of this buffer is 0x100-bytes(outbuf size used by official user-processes). Parsed("Deserialize...") by a function called by the code described under [[#OpenLayer]], which executes code with Android symbols.
+
Max size of this buffer is 0x100-bytes(outbuf size used by official user-processes). Parsed("Deserialize...") by a function called by the code described under [[#OpenLayer]], which executes code with Android symbols.