| |
|
|
|
Beschreibung:
FormatMessage liefert aus einem Fehlercode (numéro) une Beschreibung des Fehlers (String) ou bien Formatiert une solche Meldungsdefinition récente.
Deklaration:
DEF @FormatMessage(7) !KERNEL32,FormatMessageA
paramètre:
1.paramètre: Flags pour qui Art qui Erzeugung des Rückgabestrings. Flags peut avec | addiert volonté. => - $100 (FORMAT_MESSAGE_ALLOCATE_BUFFER) = qui fünfte paramètre gibt qui minimale Taille des Buffers pour qui Stringrückgabe à. cela System berechnet qui erforderliche Taille selbst et qui grenier doit später avec LocalFree freigegeben volonté. - $200 (FORMAT_MESSAGE_IGNORE_INSERTS).= Platzhalter dedans des Rückgabestrings volonté inchangé pour une plus tard Bearbeitung transfert. paramètre 7 wird ignoriert. - $400 (FORMAT_MESSAGE_FROM_STRING) = paramètre 2 ist qui Adresse einer nullterminierten Meldungsdefinition. cette Flag peux pas avec $800 et $1000 verwendet volonté. - $800 (FORMAT_MESSAGE_FROM_HMODULE) = paramètre 2 ist cela Handle eines Moduls (DLL). peux pas avec $400 kombiniert volonté. - $1000 (FORMAT_MESSAGE_FROM_SYSTEM) = Durchsucht qui Systemmeldungstabellen pour dem Rückgabestring. peux pas avec $400 kombiniert volonté. - $2000 (FORMAT_MESSAGE_ARGUMENT_ARRAY) = paramètre 7 ist qui Adresse eines Arrays avec Argumenten pour qui Formatierung. - $FF = Zeilenumbrüche im Rückgabestring volonté dans qui règle ignoriert. - $1 jusqu'à $FE = Maximale Anzahl de Buchstaben jusqu'à zum Zeilenumruch. - $0 = Zeilenumbrüche im Rückgabestring volonté übernommen. 2.paramètre: Gibt à, wohin qui Rückgabestring gesucht volonté soll. => - si dans paramètre 1 $800 angegeben wurde, steht ici cela Handle eines Moduls (DLL), cela den Rückgabestring liefert. - si dans paramètre 1 $400 angegeben wurde, steht ici qui Adresse eines unformatierten Rückgabestrings cette Funktion (Meldungsdefinition). il peut ensuite avec cette Funktion plus formatiert volonté. - dans allen anderen Fällen wird cette paramètre ignoriert. 3.paramètre: LongIntvariable avec dem Identifierer einer annonce, comment ihn z.B. GetLastError liefert. si dans paramètre 1 $400 angegeben wurde, wird cette paramètre ignoriert. 4.paramètre: Identifier einer Discours pour den Rückgabestring. 0 pour aktuelle Discours. cette paramètre wird ignoriert, si dans paramètre 1 $400 angegeben wurde. 5.paramètre: si dans paramètre 1 $2000 angegeben wurde, steht ici une LongIntvariable ou bien 4 Byte grand Bereichsvariable, qui qui Adesse des Rückgabestrings aufnimmt. Ansonsten une ausreichend dimensionierte Bereichsvariable, qui den Rückgabestring aufnimmt. 6.paramètre: si dans paramètre 1 $2000 angegeben wurde, steht ici qui minimale Taille des Bereichs aus paramètre 5 comme LongInt. Ansonsten steht ici qui Taille de paramètre 5 dans Bytes (ANSI) ou bien Buchstaben (Unicode). 7.paramètre: paramètre pour qui Formatierung. si paramètre 1 $2000 contient, steht ici une Bereichsvariable avec den pour eventuell vorhandene Platzhalter einzusetzenden Cordes. Ansonsten ist cette paramètre qui Adresse einer va_list Struktur.
Rückgabewert:
0 chez faute, ansonsten le nombre qui Bytes (ANSI) ou bien marque (Unicode), qui Zurückgeliefert wurden.
Beispiele:
KompilierenMarqueSéparationDEF @FormatMessage(7) !"KERNEL32","FormatMessageA"
Declare Rückgabe&,GETERROR_Buffer#,GETERROR_Buffer$
DIM GETERROR_Buffer#,32000
Let Rückgabe&=1314 Rückgabe von GetLastError oder direkt von einer API
@FormatMessage($1000,0,Rückgabe&,0,GETERROR_Buffer#,32000,0) Wandelt Fehlercode in Landesspezifische Message um.
Let GETERROR_Buffer$=@STRING$(GETERROR_Buffer#,0)
Dispose GETERROR_Buffer#
@messagebox(GETERROR_Buffer$,"Fehlermeldung",64) >
[keywords:189b50e260] Formatierung Message Rückgabe String annonce GetLastError Fehlercode transformer [/keywords:189b50e260] |
|
|
| |
|
|