Condividi tramite


CSimpleStringT::LockBuffer

Disabilita il conteggio dei riferimenti e garantisce la stringa nel buffer.

PXSTR LockBuffer( );

Valore restituito

Un puntatore a un oggetto CSimpleStringT o una stringa con terminazione null.

Note

Chiamare questo metodo per bloccare il buffer dell'oggetto CSimpleStringT. Chiamando LockBuffer, creare una copia della stringa, con – 1 per il conteggio dei riferimenti. Quando il valore di conteggio dei riferimenti è -1, la stringa nel buffer viene considerata in uno stato bloccato. Mentre in uno stato bloccato, la stringa è protetta in due modi:

  • Nessuna altra stringa può ottenere un riferimento ai dati della stringa è bloccato, anche se tale stringa viene assegnata alla stringa bloccata.

  • La stringa bloccata non eseguirà mai riferimento a un'altra stringa, anche se tale un'altra stringa viene copiata nella stringa bloccata.

Bloccando la stringa nel buffer, accertarsi che la tensione esclusivo della stringa nel buffer rimarrà invariata.

Dopo avere completato con LockBuffer, chiamare UnlockBuffer per reimpostare il conteggio dei riferimenti a 1.

Nota

Se si chiama GetBuffer un buffer e vengono bloccati impostare il parametro nMinBufferLengthGetBuffer a maggiore della lunghezza del buffer corrente, andranno persi il blocco del buffer.La chiamata a GetBuffer elimina il buffer corrente, viene sostituito con un buffer di dimensione richiesta e reimposta il conteggio dei riferimenti a zero.

Per ulteriori informazioni su conteggio, vedere i seguenti articoli:

Esempio

Nell'esempio seguente viene illustrato l'utilizzo di CSimpleStringT::LockBuffer.

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

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

Requisiti

Header: atlsimpstr.h

Vedere anche

Riferimenti

CSimpleStringT Class

CSimpleStringT::ReleaseBuffer