Deutsch
Stammtisch & Café

FormatMessage.

 


Beschreibung:

FormatMessage liefert aus einem Fehlercode (Zahl) eine Beschreibung des Fehlers (String) oder Formatiert eine solche Meldungsdefinition neu.




Deklaration:

DEF @FormatMessage(7) !KERNEL32,FormatMessageA




Parameter:

1.Parameter: Flags für die Art der Erzeugung des Rückgabestrings. Flags können mit | addiert werden. =>
- $100 (FORMAT_MESSAGE_ALLOCATE_BUFFER) = Der fünfte Parameter 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 LocalFree freigegeben werden.
- $200 (FORMAT_MESSAGE_IGNORE_INSERTS).= Platzhalter innerhalb des Rückgabestrings werden unverändert für eine spätere Bearbeitung übergeben. Parameter 7 wird ignoriert.
- $400 (FORMAT_MESSAGE_FROM_STRING) = Parameter 2 ist die Adresse einer nullterminierten Meldungsdefinition. Dieser Flag kann nicht mit $800 und $1000 verwendet werden.
- $800 (FORMAT_MESSAGE_FROM_HMODULE) = Parameter 2 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) = Parameter 7 ist die Adresse eines Arrays mit Argumenten für die Formatierung.
- $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.
2.Parameter: Gibt an, wo der Rückgabestring gesucht werden soll. =>
- Wenn in Parameter 1 $800 angegeben wurde, steht hier das Handle eines Moduls (DLL), das den Rückgabestring liefert.
- Wenn in Parameter 1 $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.
3.Parameter: LongIntvariable mit dem Identifierer einer Meldung, wie ihn z.B. GetLastError liefert. Wenn in Parameter 1 $400 angegeben wurde, wird dieser Parameter ignoriert.
4.Parameter: Identifier einer Sprache für den Rückgabestring. 0 für aktuelle Sprache. Dieser Parameter wird ignoriert, wenn in Parameter 1 $400 angegeben wurde.
5.Parameter: Wenn in Parameter 1 $2000 angegeben wurde, steht hier eine LongIntvariable oder 4 Byte große Bereichsvariable, die die Adesse des Rückgabestrings aufnimmt. Ansonsten eine ausreichend dimensionierte Bereichsvariable, die den Rückgabestring aufnimmt.
6.Parameter: Wenn in Parameter 1 $2000 angegeben wurde, steht hier die minimale Größe des Bereichs aus Parameter 5 als LongInt. Ansonsten steht hier die Größe von Parameter 5 in Bytes (ANSI) oder Buchstaben (Unicode).
7.Parameter: Parameter für die Formatierung. Wenn Parameter 1 $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.


Beispiele:

KompilierenMarkierenSeparieren
DEF @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 Meldung GetLastError Fehlercode umwandeln
[/keywords:189b50e260]
 
01.07.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.554 Betrachtungen

Unbenanntvor 0 min.
rquindt04.03.2018
Torben Nissen02.02.2013
Uwe Lang15.03.2011

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie