Compartilhar via


CSimpleStringT::LockBuffer

Contagem de referência desativa e protege a cadeia de caracteres em buffer.

PXSTR LockBuffer( );

Valor de retorno

Um ponteiro para um objeto de CSimpleStringT ou cadeia de caracteres NULL- finalizada.

Comentários

Chamar esse método para bloquear o buffer de objeto de CSimpleStringT .Chamando LockBuffer, você cria uma cópia da cadeia de caracteres, com A-1 para a contagem de referência.Quando o valor de contagem de referência é -1, a cadeia de caracteres em buffer é considerada estar em um estado “bloqueado”.Quando em um estado bloqueado, a cadeia de caracteres é protegida de duas maneiras:

  • Nenhuma outra cadeia de caracteres pode obter uma referência para os dados na cadeia de caracteres com barreira, mesmo se essa cadeia de caracteres é atribuído à cadeia de caracteres bloqueado.

  • A cadeia de caracteres com barreira nunca referenciará outra cadeia de caracteres, mesmo se outra cadeia de caracteres é copiado para a cadeia de caracteres bloqueado.

Bloqueando a cadeia de caracteres em buffer, você garante que a propriedade exclusiva de cadeia de caracteres em buffer. ele permaneça intacto

Depois que terminar com LockBuffer, chamada UnlockBuffer para redefinir a contagem de referência para 1.

ObservaçãoObservação

Se você chamar GetBuffer em um buffer e você bloqueados define o parâmetro nMinBufferLength de GetBuffer maior do que o comprimento atual do buffer, você perderá o bloqueio de buffer.Tal chamada a GetBuffer destrói o buffer atual, substituí-lo com um buffer de tamanho requerido, e redefinir-lo contagem de referência para zero.

Para obter mais informações sobre a contagem de referência, consulte os seguintes artigos:

Exemplo

O exemplo a seguir demonstra o uso de CSimpleStringT::LockBuffer.

CSimpleString str(_T("Hello"), pMgr);
TCHAR ch;

str.LockBuffer();
ch = str.GetAt(2);
_tprintf_s(_T("%c"), ch);
str.UnlockBuffer();

Requisitos

Cabeçalho: atlsimpstr.h

Consulte também

Referência

Classe de CSimpleStringT

CSimpleStringT::ReleaseBuffer