Método CHString::FormatMessageW(UINT,...) (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(
UINT nFormatID,
...
);
Parámetros
nFormatID
Identificador de recurso de cadena que contiene el texto del mensaje sin formato.
...
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 una descripción de estas secuencias de escape y sus significados, consulta el tema de la función Windows FormatMessage .
Nota Para reducir la exposición a ataques 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 |