【问题标题】:Method Argument is BSTR* in C#方法参数是 C# 中的 BSTR*
【发布时间】:2014-07-13 15:01:22
【问题描述】:

我被困在我正在编写的一个程序上,并认为在这里提问不会有什么坏处。该程序是在 C# 中的。我正在使用一个让我有点困惑的命令。在 C# 中,命令是:

scanner.DirectIO(int x, int y, object z);

但是当我查看该命令的文档时,它是:

scanner.DirectIO(long x, long* y, BSTR* z); //z needs to have (some number) of bytes allocated

我遇到的问题是 C# 没有 BSTR* 等价物。此代码应该将位图的 bstr 放入 z 中。我现在不太担心 x 或 y。我尝试将所需大小的 byte[] 传递给它,但这不起作用。我正在考虑使用类似的东西:

IntPtr z = SysAllocStringByteLen(null, size);

但我不确定这是否是我想要的。有什么建议吗?谢谢!

编辑:我发现了一个类似的问题,但它没有告诉我如何通过 BSTR*,只是一个 BSTR:Convention for passing BSTRs into COM functions from C# (COM interop)

编辑: DirectIO 是 microsoft.pointofservice 中 Scanner 类的一种方法。 BSTR 的第二个声明来自特定扫描仪的文档。

【问题讨论】:

标签: c# bstr


【解决方案1】:

问题解决了。我改用 C++。

【讨论】:

    猜你喜欢
    • 2017-03-17
    • 2013-01-05
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2010-10-27
    • 2011-04-07
    相关资源
    最近更新 更多