我知道 COM 现在已经过时了,但是我们时不时地必须对它做一些工作。我正在 Visual Studio 中开发 ATL COM 应用程序,我尝试向接口添加方法,但它不允许我将返回类型从 HRESULT 更改为 long 或 BSTR 等其他类型。
我不记得具体是如何完成的,可能是通过一些输出参数完成的。有人可以告诉我如何在 COM 接口方法中返回类型吗?
COM 中的返回类型始终为 HRESULT(特殊方法 AddRef 和 Release 除外),因此需要使用out参数:
HRESULT GetString([out] BSTR* val);
Run Code Online (Sandbox Code Playgroud)
您还可以添加retval属性以将输出参数转换为脚本语言(使用 IDispatch)的返回值:
HRESULT GetString([out, retval] BSTR* val);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |