string or Unicode object
pointer to buffer variable
pointer to length variable or NULL (only possible for 0-terminated strings)
See Implementation