CHString::GetBuffer 方法 (chstring.h)

[CHString 类是 WMI 提供程序框架的一部分,现在视为处于最终状态,对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]

GetBuffer 方法返回指向 CHString 对象的内部字符缓冲区的指针。

语法

LPWSTR  throw(CHeap_Exception) GetBuffer(
  int nMinBufLength
);

参数

nMinBufLength

字符缓冲区的最小大小(以字符为单位)。 此值不包括 NULL 终止符的空间。

返回值

指向对象的 (NULL 终止) 字符缓冲区的 LPWSTR 指针。

注解

返回的 LPWSTR 不是 常量 ,因此允许直接修改 CHString 内容。

如果使用 GetBuffer 返回的指针更改字符串内容,则必须在使用任何其他 CHString 方法之前调用 ReleaseBuffer

调用 ReleaseBuffer 后, GetBuffer 返回的地址可能无效,因为其他 CHString 操作可能导致重新分配 CHString 缓冲区。 如果不更改 CHString 字符串的长度,则不会重新分配缓冲区。 销毁 CHString 对象时,会自动释放缓冲区内存。

请注意,如果自行跟踪字符串长度,则不应追加终止 NULL 字符。 但是,在使用 ReleaseBuffer 释放缓冲区时,必须指定最终字符串长度。 如果确实追加了终止 NULL 字符,则应将长度的 –1 传递给 ReleaseBuffer,后者在缓冲区上调用 wcslen 以确定其长度。

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 chstring.h (包括 FwCommon.h)
Library FrameDyn.lib
DLL FrameDynOS.dll;FrameDyn.dll

另请参阅

CHString

CHString::GetBufferSetLength

CHString::ReleaseBuffer