问题标签 [bstr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
16185 浏览

windows - 如何最好地将 CString 转换为 BSTR 以将其作为“in”参数传递给 COM 方法?

我需要将CString实例转换为正确分配的实例并将其BSTR传递BSTR给 COM 方法。为了让代码能够为 ANSI 和 Unicode 编译和工作,我使用CString::AllocSysString()将任何格式转换CString为 Unicode BSTR。

由于没有人拥有返回的 BSTR,我需要处理它并在调用完成后以最安全的方式和尽可能少的代码释放它。

目前我ATL::CComBSTR用于生命周期管理:

我在这里不喜欢的是我需要两个单独的语句来构造ATL::CComBSTR转换结果的绑定。

有没有更好的方法来完成相同的任务?

0 投票
5 回答
6879 浏览

c++ - 我可以释放传递给 SysAllocString 的内存吗?

当通过堆上的 wchar_t* 使用 SysAllocString 分配新的 BSTR 时,我应该释放堆上的原始 wchar_t* 吗?

那么这是正确的方法吗?

我应该在这里调用 delete 来释放内存吗?还是那段记忆只是被 BSTR 掺杂了?

0 投票
3 回答
13500 浏览

c++ - C++:将 wchar_t* 转换为 BSTR?

我正在尝试将 a 转换wchar_t *BSTR.

这打印出来0,比我希望的要少。进行这种转换的正确方法是什么?

0 投票
1 回答
1542 浏览

types - BSTR,如何自己制作?

我需要将 Linux 应用程序连接到使用 bstr 数据的服务器。我可以“滚动”自己的代码来制作 bstr 吗?我知道 bstr 的基础知识,它有一个字节大小减去空终止符的标头,并且由于标头,它可以在字符串中间包含空值,并且基本上所有其他规则都遵循 bstr。

我不确定对标头的字节排序或更私密的细节,例如我是否像 com 一样将数据传递到指向标头或第 5 个字节?有谁知道我在哪里可以获得这些信息,或者是否有人为 linux 编写了 bstr 类型的类?或者一般来说,我可以在哪里找到有关 bstr 详细信息的信息,而不仅仅是基于 Microsoft 库的一般概述?

谢谢

0 投票
1 回答
1727 浏览

c++ - 如何将字符串数组作为 BSTR* 传递给 Web 服务代理

在 VS2005 中,我生成了一个对 Web 服务的 Web 引用,该 Web 服务将一维字符串数组(“inputArray”)作为输入参数。

为此 Web 服务调用生成的代理函数需要两个参数:

将 inputArray 作为 BSTR* 传递的正确语法是什么?目前我是这样声明的:

但是,在 atlsoap.h 中生成 SOAP 响应时,解析不正确。

0 投票
1 回答
31462 浏览

c++ - 将 BSTR 转换为 char*

有人知道如何将 BSTR 转换为 char* 吗?

更新:我试图这样做,但不知道它是对还是错。

0 投票
2 回答
3570 浏览

windows - BSTR 是 UTF-16 编码的吗?

我正在尝试学习 Unicode?对我来说,最困难的部分是编码。BSTR(基本字符串)内容代码点 U+10000 或更高?如果不是,那么 BSTR 的编码是什么?

0 投票
1 回答
3462 浏览

marshalling - 在 C# 中将 ref IntPtr 编组为 BSTR *

我正在尝试调用一个为字符串分配内存然后对字符串执行某些操作的函数。这是说明问题的基本示例:

C++:

来自 C++ 程序的以下调用可以正常工作:

C# 声明:

C# 调用:

该程序失败

调用 Function2 失败,内存不足,无法继续执行程序。

有谁知道如何从 C# 进行这样的调用?

0 投票
6 回答
5342 浏览

c++ - 使用 _bstr_t 在函数中传递 BSTR* 类型的参数

这样做的正确方法是什么:

或者:

其中IError:GetDescription定义为:

我知道我可以轻松做到这一点:

谢谢

0 投票
1 回答
767 浏览

char - 将 char* 转换为包含特殊字符的 BSTR*

我正在尝试将 a 转换char*为 a BSTR*,并且其中char*包含特殊字符以防止被加密。我尝试了几种在网上找到的方法,但是在调用 vb 代码时,我总是得到不同的结果。我很确定这与特殊字符有关,因为如果我没有它们,它似乎没问题....

我的代码是这样的......

任何帮助将不胜感激!!!

谢谢!!!!