NULL is OK, both for passing and for returning.
Parameter points to an array of items.
Parameter for input and for returning results. Default is transfer full.
Exposed in C code, not necessarily available in other languages.
Free data after the code is done.
Don't free data after the code is done.