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:
Gestire le durate degli oggetti con conteggio dei riferimenti in Windows SDK
Implementare conteggio dei riferimenti in Windows SDK
Regole per gestire i conteggi dei riferimenti in Windows SDK
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