Я пытаюсь сделать вызов RPC, который запрашивает 2 номера и строку с сервера RPC, IDL выглядит так:
void GetCurrentStatus([in] handle_t hBinding, [out, ref] DWORD *dwRef1, [out, ref] DWORD *dwRef2, UINT *nLength, [out, size_is(, *nLength)] LPWSTR *pszName);
При вызове на стороне сервера я делаю это:
// name = std::wstring
*pszName = (wchar_t*)midl_user_allocate(name.length()+1 * sizeof(wchar_t));
_tcscpy(*pszName, name.c_str());
*nLength = name.length();
Но любая попытка вызова со стороны клиента ничего не дает, возвращает ошибку The array bounds are invalid.
Как правильно вернуть строку из вызова RPC?
Спасибо,
J