CSimpleStringT::LockBuffer

Desativa a contagem de referência e protege a seqüência de caracteres no buffer.

PXSTR LockBuffer( );

Valor de retorno

Um ponteiro para um CSimpleStringT o objeto ou uma seqüência de caracteres terminada com caractere nulo.

Comentários

telefonar Esse método para bloquear o buffer do CSimpleStringT objeto. Chamando LockBuffer, você cria uma cópia da seqüência de caracteres, com um – 1 para a contagem de referência. Quando o valor de contagem de referência é -1, a seqüência de caracteres no buffer é considerada em um estado "bloqueado".Embora em um estado bloqueado, a seqüência de caracteres é protegida de duas maneiras:

  • Nenhuma Outros seqüência de caracteres pode obter uma referência aos dados na seqüência de caracteres de bloqueado, mesmo se essa cadeia de caracteres é atribuída a seqüência de caracteres bloqueada.

  • A seqüência de caracteres bloqueada nunca fará referência a Outros seqüência, mesmo se Outros seqüência de caracteres que é copiada para a seqüência de caracteres bloqueada.

Bloqueando a seqüência de caracteres no buffer, você garante suspensão exclusivo da cadeia de caracteres no buffer permanecerão intacta.

Depois que você tiver terminado com LockBuffer, telefonar UnlockBuffer para reiniciar a contagem de referência para 1.

Observação:

Se você chamar GetBuffer em um buffer bloqueado e você conjunto o GetBuffer parâmetro nMinBufferLength Para maior que o comprimento do buffer corrente, você perderá o bloquear de buffer. Como uma telefonar para GetBuffer destrói o buffer corrente, substitui por um buffer de dimensionar solicitado e redefine a contagem de referência para zero.

Para obter mais informações sobre 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 CSimpleStringT

CSimpleStringT::ReleaseBuffer

Outros recursos

CSimpleStringT membros