Share via


CSimpleStringT::LockBuffer

参照カウントを無効にし、バッファーの文字列を保護します。

PXSTR LockBuffer( );

戻り値

CSimpleStringT のオブジェクトまたは null で終わる文字列へのポインター。

解説

CSimpleStringT のオブジェクトのバッファーをロックするには、このメソッドを呼び出します。 LockBufferを呼び出して、参照カウントの許可された文字列のコピーを作成します。 参照の数値が -1 の場合は、バッファーの文字列は「」ロックされた状態にあると見なされます。 ロックされた状態で、文字列に 2 桁の方法で保護されます:

  • 他の文字列は、その文字列がロックされた文字列に割り当てられるがロックされた文字列データへの参照を取得できません。

  • ロックされた文字列は、そのほかの文字列がロックされた文字列にコピーして別の文字列を参照しません。

バッファーの文字列をロックして、バッファーの文字列の排他そのまま保持されないことが保証されます。

LockBufferと終了すると、1.、参照カウントをリセットする呼び出し UnlockBuffer

注意

現在のバッファーの長さを超えるにロックされたバッファーと、の 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();

必要条件

ヘッダー : atlsimpstr.h

参照

関連項目

CSimpleStringT クラス

CSimpleStringT::ReleaseBuffer