Compartir a través de


Método CHString::FormatMessageW(LPCWSTR,...) (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 FormatMessageW da formato a una cadena de mensaje.

Sintaxis

void  throw(CHeap_Exception) FormatMessageW(
  LPCWSTR lpszFormat,
  ...     
);

Parámetros

lpszFormat

Puntero a la cadena de control formal. La cadena de control se examina para las inserciones y se da formato en consecuencia. La cadena de formato es similar a la función en tiempo de ejecución, cadenas de formato de estilo printf, excepto que printf permite insertar los parámetros en un orden arbitrario.

...

Lista de argumentos.

Valor devuelto

CHeap_Exception

Comentarios

El método FormatMessageW requiere una definición de mensaje como entrada. La definición del mensaje viene determinada por lpszFormat o desde el recurso de cadena identificado por nFormatID. El método copia el texto del mensaje con formato en la cadena CHString , procesando las secuencias de inserción insertadas si se solicita.

Cada inserción debe tener un parámetro correspondiente que siga el parámetro lpszFormat o nFormatID . Dentro del texto del mensaje, se admiten varias secuencias de escape para aplicar formato al mensaje de forma dinámica. Para obtener más información y una descripción de estas secuencias de escape y sus significados, vea el tema de la función FormatMessage .

Nota Para reducir la vulnerabilidad de seguridad, use siempre una cadena de formato para FormatMessageW. Por ejemplo, FormatMessageW(input) se puede aprovechar y FormatMessageW("%s", input) no es. Nunca use una cadena proporcionada por el usuario para la cadena de formato. Si la cadena de formato se almacena para un propósito como la localización, asegúrese de que la cadena está protegida contra el acceso de escritura no autorizado. Si la función escribe en una cadena en lugar de en una salida estándar, es posible que deba evitar el uso de un "%s" final en la cadena de formato.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar CHString::FormatMessageW.

CHString str;
int nAsked = 5;
int nAgree = 4;

str.FormatMessageW(L"%1!d! of %2!d! developers agree: Golf is %3%!", 
                   nAgree, nAsked, L"Best");
assert(str == L"4 of 5 developers agree: Golf is Best!");

Requisitos

Requisito Valor
Header chstring.h

Consulte también

CHString

CHString::Format