Метод 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 |