Этот метод блокирует строку в буфере.
LPTSTRLockBuffer();
Возвращает указатель на объект CString или строку С НУЛЕВЫМ СИМВОЛОМ В КОНЦЕ.
Вызывая LockBuffer, Вы создаете копию строки, и затем устанавливаете reference count на-1. Когда reference count установлен на -1, строка в буфере, как полагают, находится в блокированном состоянии. В блокированном состоянии, строка защищена двумя способами:
· Никакая другая строка не может получить ссылку к данным в блокированной строке, даже если той строке присваивается блокированная.
· Блокированная строка никогда не будет ссылаться на данные другой строки, даже если та другая строка скопирована в блокированную строку.
Блокируя строку в буфере, Вы гарантируете, что содержание строки в буфере, остается неповрежденным.
После того, как Вы закончили с LockBuffer, вызовите UnlockBuffer, чтобы сбросить reference count к 1.
Если Вы вызываете GetBuffer на блокированном буфере, и Вы устанавливаете параметр GetBuffer nMinBufLength в большее значение чем длина текущего буфера, Вы теряете буферную блокировку. Такой запрос к GetBuffer уничтожает текущий буфер, заменяет это буфером требуемого размера, и сбрасывает reference count к 0.
CString::UnlockBuffer, CString::GetBuffer, CString::ReleaseBuffer