Metodo CHString::FormatMessageW(LPCWSTR,...) (chstring.h)

[La classe CHString fa parte di WMI Provider Framework, che viene ora considerata in stato finale e non saranno disponibili ulteriori sviluppi, miglioramenti o aggiornamenti per problemi non correlati alla sicurezza che interessano queste librerie. Le API MI devono essere usate per tutti i nuovi sviluppi.

Il metodo FormatMessageW formatta una stringa di messaggio.

Sintassi

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

Parametri

lpszFormat

Puntatore alla stringa di controllo formale. La stringa di controllo viene analizzata per gli inserimenti e formattata di conseguenza. La stringa di formato è simile alla funzione di runtime, alle stringhe di formato in stile printf, ad eccezione del fatto che printf consente l'inserimento dei parametri in un ordine arbitrario.

...

Elenco di argomenti.

Valore restituito

CHeap_Exception

Commenti

Il metodo FormatMessageW richiede una definizione di messaggio come input. La definizione del messaggio è determinata da lpszFormat o dalla risorsa stringa identificata da nFormatID. Il metodo copia il testo del messaggio formattato nella stringa CHString , elaborando eventuali sequenze di inserimento incorporate, se richiesto.

Ogni inserimento deve avere un parametro corrispondente che segue il parametro lpszFormat o nFormatID . All'interno del testo del messaggio sono supportate diverse sequenze di escape per la formattazione dinamica del messaggio. Per altre informazioni e una descrizione di queste sequenze di escape e dei relativi significati, vedere l'argomento relativo alla funzione FormatMessage .

Nota Per ridurre la vulnerabilità di sicurezza, usare sempre una stringa di formato per FormatMessageW. Ad esempio, FormatMessageW(input) è sfruttabile e FormatMessageW("%s", input) non è. Non usare mai una stringa fornita dall'utente per la stringa di formato. Se la stringa di formato viene archiviata a scopo di localizzazione, assicurarsi che la stringa sia protetta dall'accesso in scrittura non autorizzato. Se la funzione scrive in una stringa anziché in un output standard, potrebbe essere necessario evitare di usare una stringa finale "%s" nella stringa di formato.

Esempio

L'esempio di codice seguente illustra come usare 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!");

Requisiti

Requisito Valore
Intestazione chstring.h

Vedi anche

CHString

CHString::Format