共用方式為


CSimpleStringT::LockBuffer

停用參考次數並防止緩衝區中的字串。

PXSTR LockBuffer( );

傳回值

CSimpleStringT 物件或 null 結尾字串的指標。

備註

呼叫這個方法會鎖定 CSimpleStringT 物件的緩衝區。 藉由呼叫 LockBuffer,您會建立字串的複本,以參考計數來擷取。 當參考計數值為-1 時,緩衝區的字串視為「已鎖定」狀態。 當一個鎖定狀態,字串會保護以兩種方式:

  • 其他字串無法取得資料的參考鎖定,即使字串,該字串指派給鎖定的字串。

  • 鎖定的字串不會參考另一個字串,該字串,即使其他複製到鎖定的字串。

藉由鎖定在緩衝資料,可確保緩衝資料的獨佔保留將保持不變。

當您完成使用 LockBuffer之後,呼叫重設參考計數的 UnlockBuffer 到 1。

注意事項注意事項

如果小於目前緩衝區的長度會在鎖定緩衝區和您的 GetBuffer 集合 GetBuffer 參數 nMinBufferLength 為大於,將會失去緩衝區鎖定。為 GetBuffer 中這項呼叫會終結目前的緩衝區,以要求大小的緩衝區來取代,並重設參考計數為零。

如需繫結參考的詳細資訊,請參閱下列文件:

範例

以下範例將說明 CSimpleStringT::LockBuffer 的用法。

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

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

需求

Header: atlsimpstr.h

請參閱

參考

CSimpleStringT 類別

CSimpleStringT::ReleaseBuffer