Вообще говоря, если функция берет указатель на указатель (WCHAR**
в данном случае), то она выделяет свою собственную память и устанавливает указатель на указатель на эту память. Документация SomeFunc
должна описывать, действительно ли это так.
Если это так, то вам, вероятно, понадобится что-то вроде:
WCHAR* result = NULL;
UINT i;
hr = SomeFunc(handle, &i, &result);
А затем используйте result
в случае успеха.
Конечно, в этом случае вам, скорее всего, также придется беспокоиться об освобождении памяти, на которую было установлено result
. Документация SomeFunc
должна прямо указывать, что необходимо для этого также.