是否可以通过Microsoft RPC传递std :: string?

时间:2011-03-07 00:50:30

标签: visual-c++

我尝试通过RPC传递std :: string,但是我收到了以下错误:

  

MIDL2025:语法错误:期待a   型号规格或存储   说明符或类型限定符附近   “字符串”

从代码中提取:

interface TestInterface
{
    unsigned int HelloUser([in] const string user);
}

这可能吗?

1 个答案:

答案 0 :(得分:1)

您必须使用BSTR。此外,没有const。通过将参数指定为[in],已经理解被调用者不会修改字符串,即使它确实修改了,也不会将其封送回调用者。

_bstr_t课程将有助于转换。请注意,BSTR始终基于WCHAR,即16位。因此,请使用std::wstring