CSimpleStringT::LockBuffer
Deshabilita el recuento de referencias y protege la cadena en el búfer.
PXSTR LockBuffer( );
Valor devuelto
Un puntero a un objeto de CSimpleStringT o una cadena terminada en null.
Comentarios
Llame a este método para bloquear el búfer del objeto de CSimpleStringT . Llamando a LockBuffer, se crea una copia de la cadena, con a – 1 para el recuento de referencias. Cuando el valor de recuento de referencias es -1, la cadena en el búfer se considera estar en un estado “bloqueado”. Mientras está en un estado bloqueado, la cadena se protege de dos maneras:
Ninguna otra cadena puede obtener una referencia a los datos en la cadena bloqueada, aunque esa cadena se asigna a la cadena bloqueada.
La cadena bloquea nunca hará referencia a otra cadena, aunque esa otra cadena se copia a la cadena bloqueada.
Bloqueando la cadena en el búfer, se asegura de que permanecerá el bloqueo de la exclusiva de la cadena en el búfer intacto.
Cuando haya terminado con LockBuffer, llamada UnlockBuffer para restablecer el recuento de referencias en 1.
Nota
Si llama a GetBuffer en un búfer y se bloquean establecidos el parámetro nMinBufferLength de GetBuffer a mayor que la longitud del búfer actual, se perderá el bloqueo del búfer.Una llamada a GetBuffer destruye el búfer actual, reemplácela con un búfer de tamaño solicitado, y restablece el recuento de referencias en cero.
Para obtener más información sobre el recuento de referencias, vea los artículos siguientes:
Administrar duraciones de objeto con el recuento de referencias en Windows SDK
Implementar el recuento de referencias en Windows SDK
Reglas para administrar los recuentos de referencias en Windows SDK
Ejemplo
El siguiente ejemplo muestra el uso de CSimpleStringT::LockBuffer.
CSimpleString str(_T("Hello"), pMgr);
TCHAR ch;
str.LockBuffer();
ch = str.GetAt(2);
_tprintf_s(_T("%c"), ch);
str.UnlockBuffer();
Requisitos
encabezado: atlsimpstr.h