我试图做一个RPC调用该请求2号和RPC服务器字符串返回一个字符串,该IDL看起来像这样:从Win32的RPC调用
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调用返回一个字符串的正确方法是什么?
感谢, Ĵ
在通话或退回过程中发生错误吗?即'GetCurrentStatus'实际上是否执行服务器端? – 2011-06-06 18:44:12