Метод CHString::GetBuffer (chstring.h)

[Класс CHString является частью платформы поставщика WMI, которая теперь рассматривается в окончательном состоянии, и никакие дальнейшие разработки, улучшения или обновления не будут доступны для проблем, не связанных с безопасностью, влияющих на эти библиотеки. API mi mi следует использовать для всех новых разработок.]

Метод GetBuffer возвращает указатель на внутренний буфер символов для объекта CHString .

Синтаксис

LPWSTR  throw(CHeap_Exception) GetBuffer(
  int nMinBufLength
);

Параметры

nMinBufLength

Минимальный размер буфера символов в символах. Это значение не включает пробел для признака конца NULL .

Возвращаемое значение

Указатель LPWSTR на буфер символов объекта (с завершением NULL).

Комментарии

Возвращаемый LPWSTR не является константным и, следовательно, допускает прямое изменение содержимого CHString .

Если вы используете указатель, возвращаемый GetBuffer для изменения содержимого строки, необходимо вызвать ReleaseBuffer , прежде чем использовать другие методы CHString .

После вызова ReleaseBuffer адрес, возвращенный GetBuffer , может оказаться недопустимым, так как дополнительные операции CHString могут привести к перераспределению буфера CHString . Если не изменить длину строки CHString , буфер не будет перераспределен. Буферная память освобождается автоматически при уничтожении объекта CHString .

Обратите внимание, что если вы отслеживаете длину строки самостоятельно, не следует добавлять завершающий символ NULL . Однако при освобождении буфера с помощью ReleaseBuffer необходимо указать окончательную длину строки. При добавлении завершающего символа NULL необходимо передать значение –1 для длины в ReleaseBuffer, который вызывает wcslen в буфере, чтобы определить его длину.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header chstring.h (включая FwCommon.h)
Библиотека FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll

См. также раздел

CHString

CHString::GetBufferSetLength

CHString::ReleaseBuffer