OLE字符串

一、概述

32位宽字符串,前面32位为长度,尾部以0结束

二、相关定义

BSTR (又称Basic 类型字符串)

LPOLESTR

相关宏定义:

typedef unsigned short wchar_t; (unsigned short为两字节)
typedef wchar_t WCHAR;
typedef WCHAR OLECHAR;  (Win32)
typedef OLECHAR* BSTR;
typedef /* [string] */ OLECHAR __RPC_FAR *LPOLESTR;

三、使用

1.分配

// Create BSTR containing "Text"
bs = SysAllocString(L"Text")
// Create BSTR containing "Te"
bs = SysAllocStringLen(L"Text", 2)
// Create BSTR containing "Text" followed by \0 and a junk character
bs = SysAllocStringLen(L"Text", 6)
// Reallocate BSTR bs as "NewText" 重新赋值
f = SysReAllocString(&bs, "NewText");

2.长度

// Get character length of string.
cch = SysStringLen(bs);

3.释放

// Deallocate a string.
SysFreeString(bs);

时间: 2024-11-01 01:46:27

OLE字符串的相关文章

VC中的数据类型转换BSTR、char*和CString

简介 摘要:关于VC中的数据类型转换BSTR.char*和CString的深入研究. 步骤/方法 char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::Format进行.例如: char chArray[] = "This is a test"; char * p = "This is a test"; 或 LPSTR p = "This is a test"; 或在已定义Unicode应的

c++ 数据类型与原始数据之间的转换 C++中各种数据类型转换

glm 中 数据类型 与 原始数据(c++ 数组)之间的转换 float* -> glm::vec3 float g_AxisDirection[] = {0.0f, 1.0f, 0.0f}; glm::make_vec3(g_AxisDirection) glm::mat4->float* glm::mat4 Rx = glm::mat4(1); (float*)glm::value_ptr(Rx) C++中各种数据类型的转换 %f常用数据类型使用转换详解   leo: 要在Unicode字

Javascript实例教程(21) OLE Automation(6)

javascript|教程 使用javascript中的OLE Automation 6. 怎样提高脚本程序的性能 自从我们处理重的对象模型(比如Word.Application)和应用程序实例,注意系统的资源示相当重要的.一旦我们完成对应用程序实例的处理,我们必须去掉它,以从内存重清除对象的实例.在Jscript中有唯一的方法来实现,它就是应用程序对象的Quit()方法,以下是一个例子: var wdApp = new ActiveXObject("Word.Application"

Javascript实例教程(21) OLE Automation(5)

javascript|教程 使用javascript中的OLE Automation 5. 怎样处理应用程序的实例 文档模板是应用程序和它支持的文档之间的连接.文档模板有两种类型:单一文档,它只能一次打开一个类型的文档:多文档模板,它允许多个文档同时被打开.下面的表格列出了Windows应用程序的各种类型: 单文档界面(SDI)应用程序 单文档界面(MDI)应用程序 老类型的应用程序 新类型的应用程序 一个实例 多个实例 老类型的SDI应用程序只能一次管理一个文档,但它支持在不需要开始应用程序的

Javascript实例教程(21) OLE Automation(4)

javascript|教程 使用javascript中的OLE Automation 4.怎样检索一个Automation对象存在的实例 Jscript支持同样Visual Basic中的GetObject()函数.它的一般的语法如下: var objVar = GetObject([pathname][, class]); objVar指定了一个变量来保留实例化对象的引用.Pathname是完全的路径和包含ActiveX对象的文件名.Class指定在字符串的表单中对象的类.Class参数使用了

Javascript实例教程(20) OLE Automation(6)

javascript|教程 使用JavaScript中的OLE Automation 6. 怎样提高脚本程序的性能 自从我们处理重的对象模型(比如Word.Application)和应用程序实例,注意系统的资源示相当重要的.一旦我们完成对应用程序实例的处理,我们必须去掉它,以从内存重清除对象的实例.在Jscript中有唯一的方法来实现,它就是应用程序对象的Quit()方法,以下是一个例子: var wdApp = new ActiveXObject("Word.Application"

Javascript实例教程(20) OLE Automation(5)

javascript|教程 使用JavaScript中的OLE Automation 5. 怎样处理应用程序的实例 文档模板是应用程序和它支持的文档之间的连接.文档模板有两种类型:单一文档,它只能一次打开一个类型的文档:多文档模板,它允许多个文档同时被打开.下面的表格列出了Windows应用程序的各种类型: 单文档界面(SDI)应用程序 单文档界面(MDI)应用程序 老类型的应用程序 新类型的应用程序 一个实例 多个实例 老类型的SDI应用程序只能一次管理一个文档,但它支持在不需要开始应用程序的

Javascript实例教程(20) OLE Automation(4)

javascript|教程 使用JavaScript中的OLE Automation 4.怎样检索一个Automation对象存在的实例 Jscript支持同样Visual Basic中的GetObject()函数.它的一般的语法如下: var objVar = GetObject([pathname][, class]); objVar指定了一个变量来保留实例化对象的引用.Pathname是完全的路径和包含ActiveX对象的文件名.Class指定在字符串的表单中对象的类.Class参数使用了

&#106avascript实例教程(20) OLE Automation(6)

教程 使用javascript中的OLE Automation 6. 怎样提高脚本程序的性能 自从我们处理重的对象模型(比如Word.Application)和应用程序实例,注意系统的资源示相当重要的.一旦我们完成对应用程序实例的处理,我们必须去掉它,以从内存重清除对象的实例.在Jscript中有唯一的方法来实现,它就是应用程序对象的Quit()方法,以下是一个例子: var wdApp = new ActiveXObject("Word.Application"); wdApp.Qu