问题标签 [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 回答
2478 浏览

c++ - 将 bstr_t 转换为双精度

如何在c ++中将bstr_t转换为double?

我正在考虑转换为 *char,然后 *char 转换为双倍?

0 投票
1 回答
385 浏览

c++ - C++、COM 和传递字符串

我正在调试一些其他程序员的 Windows Media Player 插件的源代码。这个插件有时会导致 WMP 崩溃,有时打开插件设置窗口需要很长时间。只有在播放音乐时打开设置窗口时才会出现此问题。如果播放器停止,它会毫无问题地打开。

在查看代码和调试时,我来到了似乎是问题原因的代码行。

属性页具有以下成员变量:

初始化时的属性页调用 COM 对象的 get_text 方法:

此时hrs为“0x80010105:服务器抛出异常”。并且 Visual Studio 调试输出显示“wmplayer.exe 中 0x764efbae 处的第一次机会异常:0x80010105:

get_text 方法定义如下:

在 Dsp_plugin.idl

在 Dsp_plugin.h

最后是引发此异常的方法本身:Dsp_plugin.cpp

COM DLL 是通过设置“使用 Unicode 字符集”编译的。

我不是经验丰富的 COM 程序员,但将字符串作为 unsigned char** 传递对我来说似乎很不寻常,我在处理 COM 时主要看到 BSTR 或 VARIANT。

也许一些 COM 大师可以解释,为什么会发生这种异常,是否可以通过将方法转换为使用 BSTR* 和 SysAllocString/SysfreeString 而不是 unsigned char**/malloc/free 来修复它?

0 投票
2 回答
3205 浏览

visual-c++ - 作为参数传递时,它如何将 _bstr_t 转换为 BSTR?

举个简单的例子:

最初我认为 _bstr_t 有一个从 _bstr_t 转换为 BSTR 的 BSTR 运算符,但是查看msdn并没有定义这样的运算符。

将 _bstr_t 传递给 BSTR 参数或将 _variant_t 传递给 VARIANT 时如何工作?

0 投票
1 回答
628 浏览

c++ - ATL how to Convert BSTR* str to registry key.SetValue(LPCTSTR str type

It's been years since I have done C++ let alone ATL code

I have this method that needs surgical help :(

This is for a mobile app so I don't want to use CString and MFC

I need to convert the BSTR* str to the correct type LPCTSTR for use in the registry Set.Value method

0 投票
2 回答
7048 浏览

c++ - 如何检查 _bstr_t 是否包含(类似于 str.find)字符串

我是_bstr_t's 的新手,但仍在尝试掌握它。我试图检查特定字符串x是否包含在 bstring 中的任何位置。我通常会喜欢的东西;

只是为了记录,预期的平台是windows。

0 投票
1 回答
2784 浏览

python - Python 字符串到 BSTR

我在 Windows 7 上使用 iTunes COM 接口。方法 iTunes.CurrentTrack.AddArtworkFromFile(path) 要求路径为 BSTR 类型。

我从一些研究中了解到 BSTR 是一种 C++/Visual Basic 数据类型,表示基本字符串。

有什么方法可以将 python ascii 字符串转换为 BSTR?

代码 :

错误:pywintypes.com_error:(-2147352567,'发生异常。',(0,无,无,无,0,-2147467259),无)

0 投票
2 回答
1586 浏览

c++ - 使用 BSTR 数据类型时出错

我的 firebreath 插件项目有一个活动 X 控件的包装类。

其中一种方法将 BSTR 数据类型变量作为输入,但是当我尝试调用该方法并传递 BSTR 时,出现错误。

我什至包含了“WTypes.h”头文件。但这似乎并不能解决问题。

所以有人提出了替代方案。

Makecall函数使用这些参数调用active x控件实现的Makecall函数

错误

PS:在我搜索错误后,我发现火焰呼吸不支持宽字符,即 uni 代码。那么有没有办法在firebreath中使用unicode数据类型。

0 投票
3 回答
6109 浏览

delphi - 如何使用 BSTR 的 SAFEARRAY 显示来自 VARIANT 的值

我正在研究一个带有函数的 COM 对象库,该函数返回 a和VARIANTa SAFEARRAYBSTR如何显示此VARIANT实例中的值并将其保存在TStringList? 我试图在没有明确答案的情况下搜索网络。

我尝试了以下但没有成功:

0 投票
1 回答
2362 浏览

c++ - 从 Wstring 转换为 CComBstr

请建议我从 wstring 转换为 CComBstr 的方法。

我试图像下面这样转换,但它失败了

CComBSTR BstrAddress(strID); // strID是wstring类型

我收到错误,因为“无法将参数 1 从 'std::wstring' 转换为 'int'”请帮助我解决这个问题

0 投票
1 回答
766 浏览

c# - COM 无法将 BSTR 从托管服务器正确编组到本机客户端

我在一个场景中苦苦挣扎,我有一个通过 COM 公开并由本机客户端使用的托管接口。我已经设法隔离了这个问题,它基本上归结为一个字符串被互操作运行时不正确地编组,为了模拟和重现这个问题,我创建了一个看起来像这样的小项目:

服务器:

在编译完这个类并执行 regasm + gacutil /i 之后,我构建了这个小

本机客户端:

这里 hr 中的值是 S_OK 并且 bstr 设置为 NULL (0x000000)。

为了确保问题出在编组本身,我建立了一个

托管客户:

从不同的程序集中调用 UrlSync 类:

我得到了预期的字符串。我在这里缺少什么?