问题标签 [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.
c++ - 什么时候可以选择重新分配 `[in,out]` 参数?
如果我有[in,out] BSTR*
参数并且我想修改字符串内容但仍保持相同的长度,我可以重复使用它还是需要重新分配/释放并分配BSTR
?
对于
[in, out]
参数,调用者分配内存,方法或属性可以选择性地解除分配和重新分配,调用者最终负责删除内存。
为了更完整,什么时候是可选的?
c++ - 运算符 TYPE () 并获取对象的地址
ATL 类CComBSTR有一个BSTR
成员m_str
和一个operator BSTR ()
返回m_str
.
现在,如果一个函数将 aBSTR *
作为参数,是否可以传递 a 的地址CComBSTR
?
编译器没有抱怨,但如果真的没问题,为什么它会起作用?
c++ - 如何正确地将_bstr_t重置为`NULL`
在下面的片段中(循环的简化场景)
我期望another.Assign(NULL)
的是:
SysFreeString()
不被称为another
设定为NULL
- ref-count 减为 1
original
与ref count=1
现有BSTR
内容。
发生了什么:
SysFreeString()
被称为底层证券BSTR
和another
original
another
设定为NULL
original
残骸的参考计数2
another.Assign(NULL)
似乎解除了 和 的底层证券BSTR
的original
分配another
。
我们发生了意外的崩溃,因为在编码过程中我认为_bstr_t::Assign()
会减少引用计数而不是立即取消分配BSTR
.
如何another
在NULL
不影响的情况下正确重置original
?
请在下面找到Assign
from的实现VC++ 6
。
c++ - BSTR bstrRtf = 0xcccccccccccccccc调试时(= CXX0030:错误:无法评估表达式)
我正在使用 IXLMDOMDocument 从流中加载 xml 文件
加载流(包含 xml 内容)后,它会创建一个样式表以ident
正确获取内容。上述部分工作没有任何问题。我确信这一点,但在那之后,当 A 转换节点(样式表为bstrRtf
)时,如下所示 -
我不知道为什么或如何。它不应该这样做,因为bstrRtf
我们有一个非常奇怪的值。我希望它会给出一些错误,但我不知道为什么会这样。
任何人都可以解释它的含义 bstrRtf = 0xcccccccccccccccc <Bad Ptr>
吗?什么时候有人会收到这种类型的错误?是什么意思0xcccccccccccccccc <Bad Ptr>
?
当我将它初始化为零时,错误正在instance->m_bstrRtf = 0x0000000000000000 <Bad Ptr>
调试中。并且不工作。但是为什么即使在此之后它仍然返回 S_OK ?
c++ - _com_util::ConvertStringToBSTR - 访问冲突
我正在调用 COM 服务器的方法并在 _com_util::ConvertStringToBSTR 中随机获取访问冲突错误:
注册报价签名:
更多信息:
我不知道为什么会发生这个错误。如果需要,我可以提供更多信息。
更新:
c++ - 将 BSTR 字符串传递给 _bstr_t 或 CComBSTR 构造函数时访问冲突
我有从 COM 服务器传递的 BSTR 字符串。当我将此字符串放入 _bstr_t(或 CComBSTR)构造函数时,就会发生访问冲突。我检查了这个异常,发现只有当 BSTR 为空(或 null)时才会引发这个异常。
我试图将空的 BSTR 显式放入 _bstr_t 构造函数,这很好用:
但是对于从 COM 服务器传递的 BSTR,这不起作用 - 当字符串为空或 null(或可能已损坏?)时会发生访问冲突异常
我发现这种解决方法效果很好:
但我想知道为什么这不能直接与 _bstr_t 或 CComBSTR 包装器一起使用:
更新:
COM 服务器如何传递 BSTR 字符串:
c# - 在 c# 和 C++ /CLI 之间传递 _bstr_t
我有点困惑我们是否可以使用 _bstr_t 在 c# 到 C++ 之间传递字符串,反之亦然。
我使用 C++/CLI 作为 C# 和 C++ 之间的中间层。
如果可能的话,还举例说明如何在 C# 端和 C++/CLI 端编组它,因为没有太多关于它的文档
还建议更好的数据类型/机制来传递字符串。
c - How to get String from Pointer in VB6
I must call C DLL with VB6.
C Code
My VB Code :
but my VB6 code is not functional.
please any ideas, any proposals or corrections.
please help me, I count on you.
c++ - 通过多个标签名称打印元素 - msxml - C++ 中的 xml 解析
我正在尝试使用 MSXML 解析 xml 文件,但我想解析特定标签(节点)而不是所有节点。下面两行额外的 xml 解析,给出了所有节点的输出。如果我将 L" " 替换为 L"tag_name" ...我会得到结果,但我想包含更多标签而不仅仅是一个。请帮忙。
//带有要查找的节点名称的变量: BSTR strFindText = L" ";//" " 表示输出每个节点