Partager via


CSimpleStringT::LockBuffer

Désactive le décompte de références et empêché la chaîne dans la mémoire tampon.

PXSTR LockBuffer( );

Valeur de retour

Un pointeur vers un objet d' CSimpleStringT ou une chaîne terminée par le caractère NULL.

Notes

Appelez cette méthode pour verrouiller la mémoire tampon de l'objet d' CSimpleStringT . En appelant LockBuffer, vous créez une copie de la chaîne, avec A-1 pour le décompte de références. Lorsque la valeur de décompte de références est -1, la chaîne dans la mémoire tampon est considérée comme dans un état verrouillé «  ». Alors que dans un état verrouillé, la chaîne est protégée de deux façons :

  • Aucune autre chaîne ne peut obtenir une référence aux données de la chaîne verrouillée, même si cette chaîne est assignée à la chaîne verrouillée.

  • La chaîne verrouillée ne référence jamais une autre chaîne, même si cette autre chaîne est copié dans la chaîne verrouillée.

En verrouillant la chaîne dans la mémoire tampon, vous vous assurez que le blocage exclusif de la chaîne de caractères dans la mémoire tampon reste intact.

Après avoir terminé avec LockBuffer, appelez UnlockBuffer pour réinitialiser le décompte de références à 1.

Notes

Si vous appelez GetBuffer sur une mémoire tampon verrouillée et vous affectez au paramètre nMinBufferLength d' GetBuffer à supérieur à la longueur de la mémoire tampon actuel, vous perdrez le verrou de mémoire tampon.Un appel à GetBuffer perd le tampon actuel, le remplace par une mémoire tampon de taille demandée, et réinitialise le décompte de références à zéro.

Pour plus d'informations sur le décompte de références, consultez les articles suivants :

Exemple

L'exemple suivant illustre l'utilisation du mot clé CSimpleStringT::LockBuffer :

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

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

Configuration requise

Header: atlsimpstr.h

Voir aussi

Référence

CSimpleStringT, classe

CSimpleStringT::ReleaseBuffer