A PSTR*
параметр out означает, что вызывающая сторона передает в буфер, который получает указатель на строку.
В __deref_out_opt строка является необязательной (функция помещает NULL в предоставленный вызывающей стороной буфер).
В __deref_opt_out буфер является необязательным (вызывающий передает NULL, чтобы указать на отсутствие интереса к выходному значению).
Предположительно, возможно объединить эти понятия, должен быть модификатор __deref_opt_out_opt
за это.