Parameter points to an array of items.
Generics and defining elements of containers and arrays.
NULL may be passed as the value in, out, in-out; or as a return value.
The caller owns the data container, but not the data inside it.
The caller owns the data, and is responsible for free it.