| 10 || [7.0.0+] ? (Takes a total of 0x18-bytes of input, an input handle and PID, no output)
+
| 10 || [7.0.0+] [[#LoadNrrEx]]
|}
|}
Line 205:
Line 205:
== LoadNrr ==
== LoadNrr ==
+
[7.0.0+] A new 8-bit field at NRR + 0x33C (previously padding) must be 0 for this function to succeed.
+
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 250:
Line 252:
| 2 || Always 0.
| 2 || Always 0.
|}
|}
+
+
== LoadNrrEx ==
+
Takes in a u64 nrr_address, a u64 nrr_size, a pid descriptor, and a process handle.
+
+
First, this validates that the pid descriptor matches the pid for the process handle sent to this->Initialize() earlier.
+
+
Then, this calls the same function as LoadNrr, except using the passed process handle instead of the one sent to Initialize.
+
+
When called from an ro:1 session, the field at NRR header + 0x33C must be 0x1. When called from ldr:ro session, the field at NRR header + 0x33C must be 0x0.