Образец MSDN неверен. Звонящий освобождает и вводит / выводит bstrs. Если это вход / выход, вы должны передать NULL или действительный BSTR. Если он отсутствует, его не нужно инициализировать.
Это не очень ясно из правил распределения msdn , но клиентская заглушка распределяет память по выходным значениям, так что с точки зрения вызывающего сервера это сделал. Кто еще может освободить его, кроме звонящего?