CSimpleStringT::LockBuffer
Başvuru sayma devre dışı bırakır ve dize arabelleğindeki korur.
PXSTR LockBuffer( );
Dönüş Değeri
Bir işaretçi bir CSimpleStringT nesne veya bir boşlukla sonlandırılmış dize.
Notlar
Arabelleğin kilitlemek için bu yöntemi çağırın CSimpleStringT nesnesi.Çağırarak LockBuffer, başvuru sayısı için –1 ile dize bir kopyasını oluşturun.Başvuru sayısı değeri -1 olduğunda dize arabelleğindeki "kilitli" olarak kabul edilir.Kilitli durumda iken, dize iki yolla korunur:
Bu dizeyi kilitli dize olarak atanmış olsa bile başka bir dize kilitli dizesinde verilere bir başvuru elde edebilirsiniz.
Bu dizeyi kilitli dize kopyalanır bile kilitli dize asla başka bir dize başvuru.
Dize arabelleğinde kilitleyerek dizenin özel arabellek tutuluyor eskisi gibi kalacaktır emin olun.
İle bitirdikten sonra LockBuffer, çağrı UnlockBuffer başvuru sayısı 1'e sıfırlamak için.
[!NOT]
Çağırırsanız, GetBuffer kilitli arabellek ve size GetBuffer parametresi nMinBufferLength büyük için geçerli arabellek uzunluğu, arabelleği kilidi kaybedersiniz.Bu tür bir çaðrý GetBuffer geçerli arabellek yok eder, istenen boyuttaki bir arabelleği ile değiştirir ve başvuru sayısı sıfır olarak sıfırlar.
Başvuru sayma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Başvuru sayma yoluyla nesne ömürleri yönetme ,Windows SDK
Başvuru sayımı uygulama ,Windows SDK
Başvuru sayıları yönetme ile ilgili kurallar ,Windows SDK
Örnek
Aşağıdaki örnek kullanımını göstermektedir CSimpleStringT::LockBuffer.
CSimpleString str(_T("Hello"), pMgr);
TCHAR ch;
str.LockBuffer();
ch = str.GetAt(2);
_tprintf_s(_T("%c"), ch);
str.UnlockBuffer();
Gereksinimler
Başlık: atlsimpstr.h