Метод CHString::FormatMessageW(UINT,...) (chstring.h)

[Класс CHString является частью платформы поставщика WMI, которая теперь рассматривается в окончательном состоянии, и никакие дальнейшие разработки, улучшения или обновления не будут доступны для проблем, не связанных с безопасностью, влияющих на эти библиотеки. API mi mi следует использовать для всех новых разработок.]

Метод FormatMessageW форматирует строку сообщения.

Синтаксис

void  throw(CHeap_Exception) FormatMessageW(
  UINT nFormatID,
  ...  
);

Параметры

nFormatID

Строковый идентификатор ресурса, содержащий неформатированный текст сообщения.

...

Список аргументов.

Возвращаемое значение

CHeap_Exception

Комментарии

Метод FormatMessageW требует определения сообщения в качестве входных данных. Определение сообщения определяется с помощью lpszFormat или из строкового ресурса, определяемого nFormatID. Метод копирует отформатированный текст сообщения в строку CHString, обрабатывая все внедренные последовательности вставки по запросу.

Каждая вставка должна иметь соответствующий параметр, следующий за параметром lpszFormat или nFormatID . В тексте сообщения поддерживается несколько escape-последовательностей для динамического форматирования сообщения. Описание этих escape-последовательностей и их значения см. в разделе Функция Windows FormatMessage .

Примечание Чтобы снизить уязвимость к атакам безопасности, всегда используйте строку формата для FormatMessageW. Например, FormatMessageW(input) можно использовать, а FormatMessageW("%s", input) — нет. Никогда не используйте предоставленную пользователем строку для строки форматирования. Если строка формата хранится для таких целей, как локализация, убедитесь, что она защищена от несанкционированного доступа на запись. Если функция выполняет запись в строку, а не в стандартные выходные данные, может потребоваться избежать использования в строке форматирования символа "%s".

Примеры

В следующем примере кода показано, как использовать 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!");

Требования

Требование Значение
Заголовок chstring.h

См. также раздел

CHString

CHString::Format