| |
|
|
Michael Wodrich | FormatMessageA liefert aus einem Fehlercode (Zahl) eine Beschreibung des Fehlers (String) oder formatiert eine solche Meldungsdefinition neu.
Parameter:
P:L1 | - Flags für die Art der Erzeugung des Rückgabestrings. Flags können mit | addiert werden. Flags für Parameter 1:
Flag | Beschreibung | $100 | - (FORMAT_MESSAGE_ALLOCATE_BUFFER) P:L5 gibt die minimale Größe des Buffers für die Stringrückgabe an. Das System berechnet die erforderliche Größe selbst und der Speicher muß später mit LINK:[LocalFree] freigegeben werden. | $200 | - (FORMAT_MESSAGE_IGNORE_INSERTS) Platzhalter innerhalb des Rückgabestrings werden unverändert für eine spätere Bearbeitung übergeben. P:L7 wird ignoriert. | $400 | - (FORMAT_MESSAGE_FROM_STRING) P:L2 ist die Adresse einer nullterminierten Meldungsdefinition. Dieser Flag kann nicht mit $800 und $1000 verwendet werden. | $800 | - (FORMAT_MESSAGE_FROM_HMODULE) P:L2 ist das Handle eines Moduls (DLL). Kann nicht mit $400 kombiniert werden. | $1000 | - (FORMAT_MESSAGE_FROM_SYSTEM) Durchsucht die Systemmeldungstabellen nach dem Rückgabestring. Kann nicht mit $400 kombiniert werden. | $2000 | - (FORMAT_MESSAGE_ARGUMENT_ARRAY) P:L7 ist die Adresse eines Arrays mit Argumenten für die Formatierung.
|
Das untere Byte dieses Flags gibt außerdem die Behandlung der Zeilenumbrüche an:
Flag | Beschreibung | $FF | - Zeilenumbrüche im Rückgabestring werden in der Regel ignoriert. | $1 bis $FE | - Maximale Anzahl von Buchstaben bis zum Zeilenumruch. | $0 | - Zeilenumbrüche im Rückgabestring werden übernommen.
|
| P:L2 | - Gibt an, wo der Rückgabestring gesucht werden soll. -- Wenn in P:L1 $800 angegeben wurde, steht hier das Handle eines Moduls (DLL), das den Rückgabestring liefert. -- Wenn in P:L1 $400 angegeben wurde, steht hier die Adresse eines unformatierten Rückgabestrings dieser Funktion (Meldungsdefinition). Er kann dann mit dieser Funktion weiter formatiert werden. -- In allen anderen Fällen wird dieser Parameter ignoriert. | P:L3 | - Identifierer einer Meldung, wie ihn z.B. GetLastError liefert. Wenn in P:L1 $400 angegeben wurde, wird dieser Parameter ignoriert. | P:L4 | - Identifier einer Sprache für den Rückgabestring. 0 für aktuelle Sprache. Dieser Parameter wird ignoriert, wenn in P:L1 $400 angegeben wurde. | P:L5 | - Wenn in P:L1 $2000 angegeben wurde, steht hier eine LongInt-Variable oder 4 Byte große Bereichsvariable, die die Adesse des Rückgabestrings aufnimmt. Ansonsten eine ausreichend dimensionierte Bereichsvariable, die den Rückgabestring aufnimmt. | P:L6 | - Wenn in P:L1 $2000 angegeben wurde, steht hier die minimale Größe des Bereichs aus P:L5 als LongInt. Ansonsten steht hier die Größe von P:L5 in Bytes (ANSI) oder Buchstaben (Unicode). | P:L7 | - Parameter für die Formatierung. Wenn P:L1 $2000 enthält, steht hier eine Bereichsvariable mit den für eventuell vorhandene Platzhalter einzusetzenden Strings. Ansonsten ist dieser Parameter die Adresse einer va_list Struktur.
|
Rückgabewert: 0 bei Fehler, ansonsten die Anzahl der Bytes (ANSI) oder Zeichen (Unicode), die zurückgeliefert wurden.
|
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 18.11.2005 ▲ |
|
|
|