23得票5回答
如何将char *转换为BSTR?

我该如何将来自C dll的char*传递给VB? 这是示例代码:void Cfunc(char *buffer,int len) { BSTR buf_bstr = SysAllocString((BSTR)buffer); VBptr.VBfunc(buf_bstr,len); }...

9得票1回答
COM,包含BSTR的VARIANT。谁分配内存?

好的,所以我无法想到一个恰当的标题来概括这个。 IPrintPipelinePropertyBag接口有一个AddProperty方法,非常适合“向属性包添加属性”。 http://msdn.microsoft.com/en-us/library/aa506384.aspx AddPr...

8得票3回答
如何使用SAFEARRAY的BSTR类型来显示VARIANT中的值

我正在开发一个COM对象库,其中有一个函数返回带有SAFEARRAY的VARIANT。如何显示来自此VARIANT实例的值并将其保存在TStringList中?我尝试过在网上搜索但没有找到明确的答案。 我尝试了以下方法但没有成功: Variant V; String mystr; Var...

7得票2回答
如何将BSTR传递给printf函数?

我有一个使用VS2013构建的非Unicode(MBCS)C++项目。 如果给定一个BSTR值,我应该如何安全地将其传递给printf函数?

11得票6回答
使用 _bstr_t 将 BSTR* 类型的参数传递给函数

这应该怎么正确地做:_bstr_t description; errorInfo->GetDescription( &description.GetBSTR() ); 或:_bstr_t description; errorInfo->GetDescription( des...

14得票1回答
将BSTR转换为char*

有人知道如何将BSTR转换为char*吗? 更新:我尝试了这样做,但不知道是否正确。char *p= _com_util::ConvertBSTRToString(URL->bstrVal); strcpy(testDest,p );

7得票2回答
谁拥有返回的BSTR?

假设从COM接口返回BSTR值的方法,我认为我必须释放它,我的观点正确吗? http://msdn.microsoft.com/en-us/library/aa365382(VS.85).aspx上的代码示例没有这样做。 谁错了?

9得票5回答
Can I free memory passed to SysAllocString?

当使用堆上的wchar_t *通过SysAllocString分配新的BSTR时,我是否需要释放原始的wchar_t *? 所以这样做是正确的吗? wchar_t *hs = new wchar_t[20]; // load some wchar's into hs... BSTR bs ...

21得票5回答
为什么C#/.NET字符串是长度前缀和空终止的?

在阅读了What's the rationale for null terminated strings?和一些类似的问题后,我发现在C#/.NET中字符串内部既是带长度前缀又是以空字符结尾,就像BSTR数据类型一样。为什么字符串既要带长度前缀又要以空字符结尾而不是只带长度前缀呢?

13得票4回答
检测传递wchar_t*到BSTR的静态代码分析

由于 BSTR 只是 wchar_t* 的一个 typedef,我们的代码库中有很多地方将字符串字面值传递给期望 BSTR 的方法,这可能会影响到编组器或任何试图使用任何 BSTR 特定方法(如 SysStringLen)的人。 有没有办法静态检测此类误用? 我尝试使用 VC10 /Wal...