The documentation claims any of the output arguments can be NULL, but the implementation only checks if `pbIndirect` is NULL - it writes to the others without checking.
The documentation claims any of the output arguments can be NULL, but the implementation only checks if `pbIndirect` is NULL - it writes to the others without checking.