com - 将 32位指针传递到 64位

  显示原文与译文双语对照的内容
0 0

我们有一个 32位 应用程序,它与 64位 com控件接口。 为了处理这个接口,我创建了一个 64位 com对象,它驻留在本地服务器( exe ) 中。 本地服务器对象实现与我们的控件相同的接口,并简单地通过调用。 除了那些采用变量 * 作为参数的接口函数之外,一切都正常工作。 我想问题是指针大小的差别。 我可以做什么来解决这个问题?

Variant*保存一个 BSTR 。 下面是显示函数调用的IDL代码 Fragment:


[id(5), helpstring("method GetSystemInfo")] HRESULT GetSystemInfo([in] LONG InfoID, [in] LONG Channel, [in,out] VARIANT* InfoVal);

谢谢

时间: 原作者:

0 0

我知道了。在使用变量时,我需要在调用之前设置 v.bstrVal = NULL 。

原作者:
...