bstr相关内容

VBA / Excel和C ++ DLL,具体是字符串的问题

我正在研究Excel和Arduino之间的串行通信项目。以下是我在VBA中从Arduino读取数据的地方,这是我的问题所在。 私有声明函数readFromSerialPort Lib“C:PathToDll.dll”(ByRef Buffer As String)As String BigData.Range(“Buf”)Value =“B” 另一 ..
发布时间:2017-09-26 23:08:01 C/C++开发

在最佳时间从_variant_t获取char *

这里是我想加速的代码。它从一个ADO记录集获得一个值,并将其转换为一个char *。但这是缓慢的。我可以跳过_bstr_t的创建吗? _variant_t var = pRs-> Fields-> GetItem(i) ; GetValue(); if(V_VT(& var)== VT_BSTR) { char * p =(const char *)(_bstr_t)var; ..
发布时间:2016-12-18 19:36:38 C/C++开发

你如何有效地复制BSTR到wchar_t []?

我有一个BSTR对象,我想转换为复制到一个wchar__t对象。棘手的事情是BSTR对象的长度可以是从几千字节到几百千字节的任何地方。有没有一种有效的方式来复制数据?我知道我可以只声明一个wchar_t数组,并始终分配最大可能的数据,它需要持有。然而,这意味着为可能只需要几千字节的东西分配数百千字节的数据。任何建议? 解决方案 首先,你可能不需要做任何事情,如果你需要做的是阅读内容。 BS ..
发布时间:2016-12-18 18:55:44 C/C++开发

VBScript“类型不匹配”问题与“[in,out] BSTR *”参数

我使用第三方COM对象,它的一些方法将值作为BSTR指针传回。由于VBscript仅支持变体类型尝试以像Object.Method(sMyString)这样的方式使用,以“类型不匹配”错误合理结束。 我怀疑这个错误是由COM对象本身而不是VBscript解释器生成的,因为对象获取字符串而不是指针。我试图解决它定义字符串数组,但它仍然是一样的错误。 所以我想知道是否有人有类似的问题和解决 ..
发布时间:2016-12-18 18:03:18 .NET组件控件

如何最好地将CString转换为BSTR,将其作为“in”参数放入COM方法?

我需要将 CString 实例转换为正确分配的 BSTR ,并传递 BSTR 转换为COM方法。要有ANSI和Unicode编译和工作的代码,我使用 CString :: AllocSysString()来转换任何格式 CString 到Unicode BSTR。 由于没有拥有返回的BSTR,我需要处理它,并在最安全的方式调用后释放它 目前我使用 ATL :: CComBSTR 进行生 ..
发布时间:2016-12-18 17:56:56 .NET组件控件

谁拥有返回的BSTR?

假设来自COM接口的方法返回BSTR值。我认为我必须释放它吗? http://msdn.microsoft.com/en-us/library/aa365382(VS.85).aspx 不会这样做。 谁错了? 解决方案 MSDN示例错了。调用者释放和输入/输出bstrs。如果它在/ out,你必须传入null或有效的Bstr。 这不是从msdn的 com分配规则,但是客户 ..
发布时间:2016-12-18 17:43:15 .NET组件控件

空白BSTR和空BSTR之间应该有区别吗?

当维护 COM 接口时,应将空 BSTR 视为 NULL ? 换句话说,这两个函数调用是否产生相同的结果? //空BSTR CComBSTR空(L“”); //或SysAllocString(L“”) someObj-> Foo(empty); // NULL BSTR someObj-> Foo(NULL); 解决方案 是 - 空BSTR与空一。我记得 ..
发布时间:2016-12-18 17:16:32 .NET组件控件

将BSTR转换为char *

任何人知道如何将BSTR转换为char *? 更新:我试图这样做,但不知道是对还是错。 p> char * p = _com_util :: ConvertBSTRToString(URL-> bstrVal); strcpy(testDest,p); 解决方案 ConvertBSTRToString 就是这样。对于 strcpy , testDest 需 ..
发布时间:2016-11-18 11:16:44 C/C++开发

将BSTR转换为char *

我们有一个旧的C ++应用程式,使用WinHttp.WinHttpRequest.5.1来呼叫第三方网路服务。 我不会列出所有的细节的调用序列,因为我不认为它与问题相关,但我们通过调用 hr = pIWinHttpRequest-> get_ResponseText(& bstrResponse); bstrResponse 的类型为BSTR。 调用代码不适用于BSTR,它与标准C / ..
发布时间:2016-10-30 21:04:41 C/C++开发

在LPCSTR中追加BSTR

我有一个类函数接收一个BSTR。在我的类中,我有一个成员变量是LPCSTR。现在我需要附加BSTR ins LPCSTR。我怎么能这样做。 这是我的函数。 void MyClass :: MyFunction(BSTR text) { LPCSTR name =“Name:”; m_classMember = name + text; // m_classMember是LPCST ..
发布时间:2016-10-27 06:41:25 C/C++开发

_bstr_t到UTF-8可能?

我有一个 _bstr_t 字符串,其中包含日语文本。我想将此字符串转换为定义为 char * 的UTF-8字符串。 将 _bstr_t 字符串转换为 char * (UTF-8)字符串而不丢失日语字符? 解决方案 使用WideCharToMultiByte() - 传递CP_UTF8作为第一个参数。 可以是一个空指针,并对应一个空字符串 - 把这个特殊情况。 ..
发布时间:2016-10-27 00:29:09 C/C++开发

有没有办法写一个BSTR字面量?

当调用一个需要BSTR的函数时,可以这样写: iFoo- > function(bs“HELLO”);然而,我知道的唯一解决方法是使用一个包装器调用 > SysAllocString 等,例如: iFoo-> function(WideString(L“HELLO” ).c_bstr()); 这是一种丑陋。是否有这样的选项来创建 BSTR 字面量? ..
发布时间:2016-10-24 17:04:03 C/C++开发

我们将COM中的BSTR类型视为值或引用?

从书本 ATL Internals ,我知道BSTR与OLECHAR *不同,并且有用于BSTR的CComBSTR和CString。 根据MSDN 为BSTR分配和释放内存,我知道调用者/被调用者的内存管理责任。 从MSDN获取此行, code> HRESULT CMyWebBrowser :: put_StatusText(BSTR bstr) 我还是不知道如何处理 bs ..
发布时间:2016-10-24 15:10:06 C/C++开发

我们将COM中的BSTR类型视为值或引用?

从书本 ATL Internals ,我知道BSTR与OLECHAR *不同,并且有用于BSTR的CComBSTR和CString。 根据MSDN 为BSTR分配和释放内存,我知道调用者/被调用者的内存管理责任。 从MSDN获取此行, code> HRESULT CMyWebBrowser :: put_StatusText(BSTR bstr) 我还是不知道如何处理 bs ..
发布时间:2016-10-24 14:59:36 C/C++开发

你如何有效地复制BSTR到wchar_t []?

我有一个BSTR对象,我想转换为复制到一个wchar__t对象。棘手的事情是BSTR对象的长度可以是从几千字节到几百千字节的任何地方。有没有一种有效的方式来复制数据?我知道我可以只声明一个wchar_t数组,并始终分配最大可能的数据,它需要持有。然而,这意味着为可能只需要几千字节的东西分配几百千字节的数据。任何建议? 解决方案 首先,你可能不需要做任何事情,如果你需要做的是阅读内容。 BS ..
发布时间:2016-10-24 13:22:08 C/C++开发

你如何有效地复制BSTR到wchar_t []?

我有一个BSTR对象,我想转换为复制到一个wchar__t对象。棘手的事情是BSTR对象的长度可以是从几千字节到几百千字节的任何地方。有没有一种有效的方式来复制数据?我知道我可以只声明一个wchar_t数组,并始终分配最大可能的数据,它需要持有。然而,这意味着为可能只需要几千字节的东西分配几百千字节的数据。任何建议? 解决方案 首先,你可能不需要做任何事情,如果你需要做的是阅读内容。 BS ..
发布时间:2016-10-24 13:13:03 C/C++开发

你如何有效地复制BSTR到wchar_t []?

我有一个BSTR对象,我想转换为复制到一个wchar__t对象。棘手的事情是BSTR对象的长度可以是从几千字节到几百千字节的任何地方。有没有一种有效的方式来复制数据?我知道我可以只声明一个wchar_t数组,并始终分配最大可能的数据,它需要持有。然而,这意味着为可能只需要几千字节的东西分配几百千字节的数据。任何建议? 解决方案 首先,你可能不需要做任何事情,如果你需要做的是阅读内容。 BS ..
发布时间:2016-10-24 13:06:35 C/C++开发

如何将_bstr_t转换为CString

我有一个 _bstr_t 变量 bstrErr ,我有一个 CString variable csError 。如何将 bstrErr 中的值设置为 csError ? 解决方案 是不可能只是投射它: _bstr_t b “Steve”); CString cs; cs =(LPCTSTR)b; 我认为这应该在项目是Unicode时工作。 ..
发布时间:2016-10-20 09:24:29 C/C++开发