A pointer parameter can:
Have a non-NULL value
Have a value of NULL
Be unused
Pass NULL and unused pointer parameters as NULL.
If the parameter has a NULL value, the length variable associated with the parameter, if any, must be 0 or CS_UNUSED.
If the parameter is unused, the length variable associated with the parameter, if any, must be CS_UNUSED.
Client-Library uses current programming context information to determine whether to interpret the parameter as NULL or unused.