CStringData选件类

此选件类表示字符串对象的数据。

struct CStringData

成员

494hzt3b.collapse_all(zh-cn,VS.110).gif方法

AddRef

增加字符串数据对象的引用计数。

data

检索字符串对象的字符数据。

IsLocked

确定关联的字符串对象的缓冲区是否锁定。

IsShared

确定关联的字符串对象的缓冲区当前是否共享。

锁定

锁关联的字符串对象的缓冲区。

Release

释放指定字符串对象。

unlock

打开关联的字符串对象的缓冲区。

494hzt3b.collapse_all(zh-cn,VS.110).gif数据成员

nAllocLength

分配的数据的长度。XCHAR中的(不包括终止null)

nDataLength

XCHAR中的当前使用的数据的长度(不包括终止null)

nRefs

当前对对象的引用计数。

pStringMgr

此字符串对象的字符串管理器的指针。

备注

应由实现自定义字符串管理器的开发人员只使用此选件类。 有关自定义字符串管理器的更多信息,请参见 内存管理和CStringT

此选件类封装信息和的各种数据类型与了更高的字符串对象,例如 CStringTCSimpleStringTCFixedStringT 对象。 每更高的字符串对象包含指向其关联的 CStringData 对象,允许多个字符串对象指向同一字符串数据对象。 此关系由引用计数(nRefs)表示 CStringData 对象。

备注

在某些情况下,字符串类型(例如 CFixedString)使用多个更高的字符串对象不会共享字符串数据对象。有关这方面的更多信息,请参见 内存管理和CStringT

此数据组成:

  • 内存管理器的类型( IAtlStringMgr)的字符串。

  • 当前长度(nDataLength)的字符串。

  • 分配的长度(nAllocLength)的字符串。 出于性能原因,这可能与当前字符串的长度不同

  • 当前引用计数(nRefs) CStringData 对象。 此值用于确定了字符串对象共享同一 CStringData 对象。

  • 实际字符缓冲区(数据)字符串。

    备注

    字符串管理器将字符串对象实际字符缓冲区和追加到 CStringData 对象。

要求

Header: atlsimpstr.h

请参见

参考

层次结构图

其他资源

ATL/MFC共享选件类