Método CHString::GetBuffer (chstring.h)

[La clase CHString forma parte del marco del proveedor de WMI que ahora se considera en estado final y no habrá más desarrollo, mejoras ni actualizaciones disponibles para problemas no relacionados con la seguridad que afecten a estas bibliotecas. Las API de MI deben usarse para todo el desarrollo nuevo.]

El método GetBuffer devuelve un puntero al búfer de caracteres interno para el objeto CHString .

Sintaxis

LPWSTR  throw(CHeap_Exception) GetBuffer(
  int nMinBufLength
);

Parámetros

nMinBufLength

Tamaño mínimo del búfer de caracteres en caracteres. Este valor no incluye espacio para un terminador NULL .

Valor devuelto

Puntero LPWSTR al búfer de caracteres (terminado en NULL) del objeto.

Comentarios

El LPWSTR devuelto no es const y, por tanto, permite la modificación directa del contenido de CHString .

Si usa el puntero devuelto por GetBuffer para cambiar el contenido de la cadena, debe llamar a ReleaseBuffer antes de usar cualquier otro método CHString .

Después de una llamada a ReleaseBuffer, es posible que la dirección devuelta por GetBuffer no sea válida porque las operaciones CHString adicionales pueden hacer que el búfer CHString se vuelva a asignar. Si no cambia la longitud de la cadena CHString , el búfer no se reasigna. La memoria del búfer se libera automáticamente cuando se destruye el objeto CHString .

Tenga en cuenta que si realiza un seguimiento de la longitud de la cadena usted mismo, no debe anexar el carácter NULL de terminación. Sin embargo, debe especificar la longitud final de la cadena al liberar el búfer con ReleaseBuffer. Si anexa un carácter NULL de terminación, debe pasar –1 para la longitud a ReleaseBuffer, que llama a wcslen en el búfer para determinar su longitud.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado chstring.h (incluya FwCommon.h)
Library FrameDyn.lib
Archivo DLL FrameDynOS.dll; FrameDyn.dll

Consulte también

CHString

CHString::GetBufferSetLength

CHString::ReleaseBuffer