Prototyp : int APIENTRY AppExec( char *prg, char *parameter );
Header : <dicerte.h>
Beschreibung :
Die Funktion AppExec führt die durch den Parameter prg angegebene DiceRTE-Anwendung
aus und übergibt ihr den Parameterstring parameter. Die Anwendung wird im
Adressraum der aufrufenden Anwendung ausgeführt. Bereits residente DLLs und der
vorhandene Speicher werden daher gemeinsam verwendet. Die aufrufende Anwendung wird
angehalten, so lange die andere ausgeführt wird. Danach werden automatisch alle noch
verwendeten Speicherblöcke freigegeben (sofern sie nicht durch
XmLock gesperrt wurden) und alle nicht mehr benötigten DLLs aus
dem Speicher entfernt.
Rückgabewert :
Der Rückgabewert ist positiv (>=0), falls die Anwendung ausgeführt wurde. In diesem
Fall ist dies der Rückgabewert der ausgeführten Anwendung. Ein negativer Wert
beschreibt hier einen Fehler. Genauere Fehlerinformationen können mit der Funktion
GetExecErr ermittelt werden.
Prototyp : int APIENTRY BiosHdFormat( struct bioshd_t *plparam );
Header : <dicerte.h>
Beschreibung :
Formatiert die in der übergebenen bioshd_t-Struktur
angegebenen Sektoren der physikalischen Platte (= Int 13h, Fkt.05h).
Der Puffer mit den Sektordaten muß sich im DOS-Speicher (unteres
Megabyte) befinden. Pro Sektor werden in dem Puffer 2 Bytes benötigt.
ACHTUNG : Eine unsachgemäße Benutzung dieser Funktion kann zu irreparablen Datenverlusten führen.
Rückgabewert :
Bei erfolgreicher Ausführung liefert BiosHdFormat den Wert 0 zurück,
ansonsten einen dieser BIOS-Fehlercodes :
0x01 Funktion nicht vorhanden oder illegales Laufwerk
0x02 Adressmarkierung nicht gefunden
0x04 Sektor nicht gefunden
0x05 Fehler bei Reset des Controllers
0x07 Fehler bei Initialisierung des Controllers
0x09 DMA-Übertragungsfehler : Segmentgrenze wurde überschritten
0x0a Sektor defekt
0x10 Fehler beim Lesen
0x11 Fehler beim Lesen wurde mit ECC korrigiert
0x20 Controller ist defekt
0x40 Suchoperation ist gescheitert
0x80 Timeout bei Zugriff auf Laufwerk
0xaa Laufwerk nicht bereit
0xcc Schreibfehler
Prototyp : int APIENTRY BiosHdQuery( int platte, struct bioshd_t *plparam );
Header : <dicerte.h>
Beschreibung :
Ermittelt die physikalischen Daten der angegebenen Platte (0x80=1.Platte,
0x81=2.Platte etc.) und trägt diese in der bioshd_t-Struktur ein,
deren Adresse als zweiter Parameter erwartet wird.
(= Int 13h, Fkt.08h).
Rückgabewert :
Bei erfolgreicher Ausführung liefert BiosHdQuery den Wert 0 zurück,
ansonsten einen BIOS-Fehlercode.
Prototyp : int APIENTRY BiosHdRead( struct bioshd_t *plparam );
Header : <dicerte.h>
Beschreibung :
Liest die in der übergebenen bioshd_t-Struktur
angegebenen Sektoren der physikalischen Platte in einen DOS-Puffer (= Int
13h, Fkt.02h).
Rückgabewert :
Bei erfolgreicher Ausführung liefert BiosHdRead den Wert 0 zurück,
ansonsten einen BIOS-Fehlercode.
Prototyp : int APIENTRY BiosHdReset( void );
Header : <dicerte.h>
Beschreibung :
Führt auf den Festplattencontrollern und allen angeschlossenen
Platten einen Reset aus (=Int 13h, Fkt.00h).
Rückgabewert :
Bei erfolgreicher Ausführung liefert BiosHdReset den Wert 0 zurück,
ansonsten einen BIOS-Fehlercode.
Prototyp : int APIENTRY BiosHdStatus( void );
Header : <dicerte.h>
Beschreibung :
Liest den Status der zuletzt benutzten Platte (=Int 13h, Fkt.01h).
Rückgabewert :
Bei erfolgreicher Ausführung liefert BiosHdStatus den Wert 0 zurück,
ansonsten einen BIOS-Fehlercode.
Prototyp : int APIENTRY BiosHdVerify( struct bioshd_t *plparam );
Header : <dicerte.h>
Beschreibung :
Vergleicht die in der bioshd_t-Struktur
angegebenen Sektoren mit dem Inhalt der Daten im Puffer (=Int 13h, Fkt.04h).
Rückgabewert :
Bei erfolgreicher Ausführung liefert BiosHdVerify den Wert 0 zurück,
ansonsten einen BIOS-Fehlercode.
Prototyp : int APIENTRY BiosHdWrite( struct bioshd_t *plparam
);
Header : <dicerte.h>
Beschreibung :
Schreibt den Inhalt des DOS-Puffers in die in der bioshd_t-Struktur
übergebenen Sektoren der Platte (= Int 13h, Fkt.03h).
ACHTUNG : Eine unsachgemäße Benutzung dieser Funktion kann zu irreparablen Datenverlusten führen.
Rückgabewert :
Bei erfolgreicher Ausführung liefert BiosHdWrite den Wert 0 zurück,
ansonsten einen BIOS-Fehlercode.
Prototyp : void APIENTRY CrLf( void );
Header : <dicerte.h>
Beschreibung :
Gibt die Zeichenfolgen CR+LF auf dem Standard-Ausgabegerät aus.
Rückgabewert :
Keiner.
Prototyp : char * APIENTRY DecStrLeft( unsigned wert );
Header : <dicerte.h>
Beschreibung :
Wandelt den übergebenen, vorzeichenlosen Wert in eine Zeichenfolge
im Dezimalsystem um (mit Dezimalpunkten) und gibt einen Zeiger auf die
Zeichenfolge zurück. Der Speicherbereich, in den die Zeichenfolge
abgelegt wird, wird auch von den anderen Umwandlungsfunktionen benutzt
(DecStrRight, HexStrLeft,
HexStrRight ).
Rückgabewert :
DecStrLeft gibt einen Zeiger auf die umgewandelte Zeichenfolge zurück.
Prototyp : char * APIENTRY DecStrRight( unsigned wert );
Header : <dicerte.h>
Beschreibung :
Wandelt den übergebenen, vorzeichenlosen Wert in eine Zeichenfolge
im Dezimalsystem um (linksbündig, mit führenden Leerzeichen und
Dezimalpunkten) und gibt einen Zeiger auf die Zeichenfolge zurück.
Der Speicherbereich, in den die Zeichenfolge abgelegt wird, wird auch von
den anderen Umwandlungsfunktionen benutzt (DecStrLeft,
HexStrLeft, HexStrRight ).
Beschreibung :
DecStrRight gibt einen Zeiger auf die umgewandelte Zeichenfolge zurück.
Prototyp : unsigned APIENTRY DecVal( char *str );
Header : <dicerte.h>
Beschreibung :
Wandelt die übergebene Zeichenfolge (vorzeichenlose Dezimalzahl)
in einen 32-Bit Integerwert um.
Rückgabewert :
Die Funktion liefert die umgewandelte Zeichenfolge als 32-Bit Integerwert
zurück.
Prototyp : unsigned short APIENTRY DiceRTEVer( void );
Header : <dicerte.h>
Beschreibung :
Gibt die DiceRTE-Version zurück, unter der das Programm ausgeführt
wird.
Rückgabewert :
Die Oberversion von DiceRTE wird im Highbyte, die Unterversion im Lowbyte
zurückgeliefert.
Prototyp : void APIENTRY DividePathName( char *dateipfad, char *pfad, char *datei );
Header : <dicerte.h>
Beschreibung :
Teilt den übergebenen dateipfad in den Pfad und den Dateinamen auf und
schreibt diese beiden Teilstrings in die Strings, auf die pfad und datei
zeigen.
Rückgabewert :
Keiner.
Prototyp : int APIENTRY DosAllocMem( unsigned paragraphen );
Header : <dicerte.h>
Beschreibung :
Allokiert die gewünschte Anzahl Paragraphen im DOS-Speicher und
gibt das entsprechende Real Mode-Segment zurück (=Int 21h, Fkt.48h).
Die Größe des verfügbaren DOS-Speichers kann mit der Funktion
LowLeft ermittelt werden.
Rückgabewert :
Bei Erfolg liefert die Funktion das Real Mode-Segment des allokierten
Bereichs zurück, ansonsten einen DOS-Fehlercode als negativen Wert.
Prototyp : int APIENTRY DosClose( int handle );
Header : <dicerte.h>
Beschreibung :
Schließt die durch einen vorherigen Aufruf von DosOpen,
DosCreate oder DosCreateNew
geöffnete Datei (=Int 21h, Fkt.3Eh).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : int APIENTRY DosCreate( char *name, int zugriff );
Header : <dicerte.h>
Beschreibung :
Legt eine neue Datei unter dem angegebenen Namen an (=Int 21h, Fkt.3Ch).
Falls diese bereits existiert, wird sie geleert. Die Zugriffsflags haben
folgende Bedeutung :
Bit 0 = 1 : Datei ist nur lesbar
Bit 1 = 1 : Datei ist versteckt
Bit 2 = 1 : Datei ist eine Systemdatei
Rückgabewert :
Bei erfolgreichem Öffnen wird das Handle zurückgeliefert,
ansonsten ein DOS-Fehlercode als negative Zahl.
Prototyp : int APIENTRY DosCreateNew( char *name, int zugriff
);
Header : <dicerte.h>
Beschreibung :
Legt eine neue Datei unter dem angegebenen Namen an (=Int 21h, Fkt.5Bh).
Falls diese bereits existiert, scheitert der Aufruf und die Datei bleibt
erhalten. Die Zugriffsflags haben folgende Bedeutung :
Bit 0 = 1 : Datei ist nur lesbar
Bit 1 = 1 : Datei ist versteckt
Bit 2 = 1 : Datei ist eine Systemdatei
Rückgabewert :
Bei erfolgreichem Anlegen wird das Handle zurückgeliefert, ansonsten
der DOS-Fehlercode als negative Zahl.
Prototyp : int APIENTRY DosDelete( char *name );
Header : <dicerte.h>
Beschreibung :
DosDelete löscht die angegebene Datei (=Int 21h, Fkt.41h).
Rückgabewert :
Wird ein Fehler festgestellt, wird der entsprechende DOS-Fehlercode
zurückgeliefert, ansonsten (bei Erfolg) eine 0.
Prototyp : int APIENTRY DosExec( char *datei, char *parameter
);
Header : <dicerte.h>
Beschreibung :
Führt die angegebene Datei aus und übergibt dieser die entsprechenden
Parameter (=Int 21h, Fkt.4Bh/00h).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : int APIENTRY DosFindFirst( char *maske, char attr,
struct find_t *ft );
Header : <dicerte.h>
Beschreibung :
Initiiert die Suche nach bestimmten Dateien in einem Verzeichnis. Der
maske-Parameter darf daher sowohl eine komplette Pfadbezeichnung
als auch Wildcards ('*' und '?') enthalten. Wurde eine Datei gefunden,
die der Namensmaske und den angegebenen Attributen entspricht, werden die
Informationen über diese Datei in der find_t-Struktur
abgelegt und der Wert 0 zurückgeliefert (=Int 21h, Fkt.4Eh).
Die Bits des Attribut-Bytes haben folgende Bedeutung :
Bit 0 = 1 : Dateien mit gesetztem Read-Only-Attribut
Bit 1 = 1 : Versteckte Dateien (Hidden-Attribut)
Bit 2 = 1 : System-Dateien
Bit 3 = 1 : Datenträger-Bezeichnung
Bit 4 = 1 : Unterverzeichnisse
Bit 5 = 1 : Archivierte Dateien
Rückgabewert :
Die Funktion liefert den Wert 0 zurück, wenn ein passender Eintrag
zur maske gefunden wurde, ansonsten einen DOS-Fehlercode.
Prototyp : int APIENTRY DosFindNext( struct find_t *ft );
Header : <dicerte.h>
Beschreibung :
Dient zur Suche nach weiteren Dateien. Die find_t-Struktur
muß hierzu vorher von einem erfolgreichen Aufruf von DosFindFirst
gefüllt worden sein, erst dann kann mit dosfindnext in einer Schleife
nach weiteren Dateien gesucht werden, die der Maske und den Attributen
aus dem DosFindFirst-Aufruf entsprechen. Wurde
eine weitere Datei gefunden, werden die Informationen darüber wieder
in der find_t-Struktur abgelegt (=Int 21h,
Fkt.4Fh).
Rückgabewert :
Wurde ein weiterer Eintrag gefunden, wird der Wert 0 zurückgeliefert
und die find_t-Struktur mit den Daten des
Eintrags gefüllt, ansonsten wird ein DOS-Fehlercode zurückgegeben.
Prototyp : int APIENTRY DosFreeMem( unsigned seg );
Header : <dicerte.h>
Beschreibung :
Gibt einen zuvor mittels DosAllocMem belegten
Speicherblock wieder frei (=Int 21h, Fkt.49h). Die Funktion erwartet hierzu
das Segment eines allokierten Blocks im Parameter seg.
Rückgabewert :
0 = okay, sonst DOS-Fehlercode
Prototyp : void APIENTRY DosGetDate( struct dosdate_t *dt );
Header : <dicerte.h>
Beschreibung :
Ermittelt das aktuelle Systemdatum und legt es in der angegebenen dosdate_t-Struktur
ab (=Int 21h, Fkt.2Ah).
Rückgabewert :
Keiner.
Prototyp : void * APIENTRY DosGetDib( void );
Header : <dicerte.h>
Beschreibung :
Ermittelt einen Zeiger auf den DOS-Infoblock (=Int 21h, Fkt.52h).
Rückgabewert :
Zeiger auf den DOS-Infoblock.
Prototyp : int APIENTRY DosGetDir( char *puffer, int lw );
Header : <dicerte.h>
Beschreibung :
Ermittelt den aktuellen Pfad auf einem beliebigen Laufwerk und schreibt
ihn den angegebenen Puffer (=Int 21h, Fkt.47h). Der Pfad wird ohne vorangestelltes
'\' gespeichert. Für den Parameter lw gelten diese Werte :
0=aktuelles Laufwerk, 1=A, 2=B, ...
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : int APIENTRY DosGetDiskInfo( int lw, struct diskfree_t
*df );
Header : <dicerte.h>
Beschreibung :
Legt Speicher-Informationen über das angegebene Laufwerk in der
diskfree_t-Struktur ab (=Int 21h, Fkt.36h).
Aus diesen Informationen läßt sich z.B. der verbleibende freie
Speicherplatz auf dem Laufwerk errechnen. Für den Parameter lw
gelten diese Werte : 0=aktuelles Laufwerk, 1=A, 2=B, ...
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten den
Wert 65535 (=Laufwerk nicht vorhanden).
Prototyp : void * APIENTRY DosGetDpb( int lw );
Header : <dicerte.h>
Beschreibung :
Ermittelt den Zeiger auf den DPB (Disk Parameter Block) eines Laufwerks
(=Int 21h, Fkt.32h). Für den Parameter lw gelten diese Werte
: 0=aktuelles Laufwerk, 1=A, 2=B, ...
Rückgabewert :
Zeiger auf den DPB eines Laufwerks oder NULL bei Fehler.
Prototyp : int APIENTRY DosGetDrv( void );
Header : <dicerte.h>
Beschreibung :
Ermittelt das aktuelle Laufwerk (=Int 21h, Fkt.19h).
Rückgabewert :
Die Funktion liefert die aktuelle Laufwerksnummer zurück (0=A,
1=B, 2=C, ...).
Prototyp : void * APIENTRY DosGetDta( void );
Header : <dicerte.h>
Beschreibung :
Ermittelt einen Zeiger auf die DTA (=Int 21h, Fkt.2Fh).
Rückgabewert :
Zeiger auf Disk-Transfer-Area
Prototyp : int APIENTRY DosGetExitCode( void );
Header : <dicerte.h>
Beschreibung :
Diese Funktion ermittelt den Ende-Code eines mittels DosExec
ausgeführten Programms. Dieser Wert kann nur einmal bestimmt werden.
Rückgabewert :
Ende-Code des zuvor ausgeführten DOS-Programms.
Prototyp : int APIENTRY DosGetFileAttr( char *pfad );
Header : <dicerte.h>
Beschreibung :
Ermittelt die Attribute der angegebenen Datei (=Int 21h, Fkt.43h/00h).
Die Attribute haben folgende Bedeutung :
Bit 0=1 : nur lesbar
Bit 1=1 : versteckt
Bit 2=1 : System-Datei
Bit 5=1 : Archiv-Flag
Rückgabewert :
Bei Erfolg liefert die Funktion die Attribute einer Datei als Integerwert,
ansonsten einen DOS-Fehlercode als negative Zahl.
Prototyp : int APIENTRY DosGetFileTime( int handle, unsigned
*datum, unsigned *zeit );
Header : <dicerte.h>
Beschreibung :
Die Funktion ermittelt Datum und Uhrzeit der letzten Veränderung
einer geöffneten Datei (=Int 21h, Fkt.57h/00h) und speichert die Daten
in den beiden übergebenen Variablen.
Das Datum hat folgenden Aufbau :
Bit 0-4 : Tag (1-31)
Bit 5-8 : Monat (1-12)
Bit 9-15: Jahr relativ zu 1980
Die Uhrzeit hat folgenden Aufbau :
Bit 0-4 : Sekunde (2er Schritte)
Bit 5-10: Minute (0-59)
Bit 11-15: Stunde (0-23)
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : void * APIENTRY DosGetInt( int intno );
Header : <dicerte.h>
Beschreibung :
DosGetInt liefert den Vektor eines Real Mode-Interrupts umgerechnet
als relativen Zeiger (=Int 21h, Fkt.35h).
Rückgabewert :
Zeiger auf Real Mode-Interrupthandler.
Prototyp : int APIENTRY DosGetStr( char *puffer, int maxchars
);
Header : <dicerte.h>
Beschreibung :
DosGetStr liest einen String vom Standard-Eingabegerät, speichert
die maximale Anzahl Zeichen in dem angegebenen Puffer und gibt die Anzahl
Zeichen zurück (=Int 21h, Fkt.0Ah). Der Code der Return-Taste (0Dh)
wird mitgespeichert. Der Parameter maxchars gibt die maximale Anzahl
einzulesende Zeichen, einschließlich der Return-Taste, an. Der Puffer
muß groß genug sein, um alle Zeichen aufzunehmen (die Zeichenfolge
wird nicht durch 00h begrenzt).
Rückgabewert :
Anzahl der eingelesenen und gespeicherten Zeichen (einschließlich
CR) als Integerwert. Der Rückgabewert -1 zeigt an, daß ein Fehler
aufgetreten ist.
Prototyp : void APIENTRY DosGetTime( struct dostime_t *dt );
Header : <dicerte.h>
Beschreibung :
DosGetTime ermittelt die aktuelle Systemzeit und legt sie in der angegebenen
dostime_t-Struktur ab (=Int 21h, Fkt.2Ch).
Rückgabewert :
Keiner.
Prototyp : unsigned short APIENTRY DosGetVer( void );
Header : <dicerte.h>
Beschreibung :
Ermittelt die aktuelle MS-DOS-Version.
Rückgabewert :
Oberversion im unteren Byte, Unterversion im oberen Byte.
Prototyp : int APIENTRY DosMkDir( char *verz );
Header : <dicerte.h>
Beschreibung :
Erzeugt das angegebene Unterverzeichnis (=Int 21h, Fkt.39h).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : int APIENTRY DosOpen( char *datei, int zugriff );
Header : <dicerte.h>
Beschreibung :
DosOpen öffnet eine bestehende Datei zum Lesen und/oder Schreiben
(=Int 21h, Fkt.3Dh). Der Zugriffsmodus hat folgendes Aussehen :
Bits 0 - 2 | 000 = nur lesbar |
001 = nur schreibbar | |
010 = les- und schreibbar | |
Bit 3 | 0 |
Bits 4 - 6 | 000 = nur aktuelles Programm darf zugreifen (Compatibility) |
001 = - " - | |
010 = anderes Programm darf nur lesen | |
011 = anderes Programm darf nur schreiben | |
100 = anderes Programm darf lesen und schreiben | |
Bit 7 | 0 = Child darf Handle benutzen |
1 = Child darf Handle nicht benutzen |
Prototyp : void APIENTRY DosPutStr( char *text );
Header : <dicerte.h>
Beschreibung :
DosPutStr gibt den angegebenen Text auf dem Standard-Ausgabegerät
aus (=Int 21h, Fkt.09h).
Rückgabewert :
Keiner.
Prototyp : int APIENTRY DosRead( int handle, void *puffer, int
anzahl );
Header : <dicerte.h>
Beschreibung :
DosRead liest die angegebene Anzahl Bytes aus einer geöffneten
Datei ausgehend von der aktuellen Dateiposition in einen Puffer (=Int 21h,
Fkt.3Fh).
Rückgabewert :
Im Falle eines Fehlers wird der Fehlercode als negative Zahl zurückgeliefert,
ansonsten die Anzahl der erfolgreich gelesenen Bytes (diese Zahl kann kleiner
sein als die gewünschte Anzahl).
Prototyp : int APIENTRY DosResizeMem( unsigned seg, unsigned
groesse );
Header : <dicerte.h>
Beschreibung :
DosResizeMem verändert die Größe eines zuvor mit DosAllocMem
belegten Speicherblocks (=Int 21h, Fkt.4Ah). Ist bei einer Vergrößerung
hinter dem Block nicht genug Speicher frei, scheitert der Aufruf (DOS verschiebt
den Block nicht, falls an anderer Stelle noch genug Platz wäre). Genau
wie bei DosAllocMem wird auch hier der Parameter
groesse als Anzahl der Paragraphen erwartet.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : int APIENTRY DosRmDir( char *verz );
Header : <dicerte.h>
Beschreibung :
DosRmDir löscht das angegebene Verzeichnis (=Int 21h, Fkt.3Ah).
Enthält das Verzeichnis noch Dateien oder Unterverzeichnisse, scheitert
der Aufruf.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : long APIENTRY DosSeek( int handle, long pos, int bezug
);
Header : <dicerte.h>
Beschreibung :
DosSeek setzt den Dateizeiger in einer geöffneten Datei auf eine
neue Position und gibt den absoluten Offset dieser Position relativ zum
Dateianfang zurück, bzw. einen DOS-Fehlercode als negative Zahl (=Int
21h, Fkt.42h).
Für den Bezug gelten folgende Werte :
0 = Bezug relativ zum Dateianfang (SEEK_SET)
1 = Bezug relativ zur aktuellen Dateiposition (SEEK_CUR)
2 = Bezug relativ zum Dateiende (SEEK_END)
Als Position dürfen auch negative Werte übergeben werden, wodurch der Dateizeiger auch rückwärts gesetzt werden kann.
Rückgabewert :
Bei Erfolg liefert die Funktion den neuen Wert des Dateizeigers relativ
zum Dateianfang wieder, ansonsten einen DOS-Fehlercode als negative Zahl.
Prototyp : int APIENTRY DosSetDate( struct dosdate_t *dt );
Header : <dicerte.h>
Beschreibung :
Setzt das aktuelle Systemdatum (=Int 21h, Fkt.2Bh) nach den Informationen
aus der dosdate_t-Struktur.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten den
Wert 255.
Prototyp : int APIENTRY DosSetDir( char *pfad );
Header : <dicerte.h>
Beschreibung :
DosSetDir ändert das Verzeichnis auf dem aktuellen Laufwerk oder,
wenn im Pfad enthalten, für das angegebene Laufwerk (=Int 21h, Fkt.3Bh).
Ist das übergebene Verzeichnis ungültig, bleibt das aktuelle
unverändert.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : int APIENTRY DosSetDrv( int lw );
Header : <dicerte.h>
Beschreibung :
DosSetDrv ändert das aktuelle Laufwerk (=Int 21h, Fkt.0Eh). Für
den Parameter lw gelten diese Werte : 0=A, 1=B, 2=C, ...
Rückgabewert :
DosSetDrv gibt die Anzahl der bekannten Laufwerke zurück.
Prototyp : void APIENTRY DosSetDta( void *dta );
Header : <dicerte.h>
Beschreibung :
DosSetDta setzt die aktuelle DTA in einen anderen Speicherbereich (=Int
21h, Fkt.1Ah). Die neue DTA muß sich im konventionellen Speicher
befinden.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY DosSetFileAttr( char *datei, unsigned
attribute );
Header : <dicerte.h>
Beschreibung :
Setzt die Attribute der angegebenen Datei (=Int 21h, Fkt.43h/01h).
Die Attribute haben folgende Bedeutung :
Bit 0=1 : nur lesbar
Bit 1=1 : versteckt
Bit 2=1 : System-Datei
Bit 5=1 : Archiv-Flag
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : int APIENTRY DosSetFileTime( int handle, unsigned
datum, unsigned zeit );
Header : <dicerte.h>
Beschreibung :
DosSetFileTime setzt Datum und Uhrzeit der letzten Veränderung
einer zur Zeit geöffneten Datei (=Int 21h, Fkt.57h/01h) aus den beiden
übergebenen Parametern datum und zeit. Der Aufbau des
Datum- und Zeitformats ist bei DosGetFileTime
beschrieben.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten einen
DOS-Fehlercode.
Prototyp : void APIENTRY DosSetInt( int intno, void *adr );
Header : <dicerte.h>
Beschreibung :
Setzt den Einstiegspunkt für einen Real Mode-Interrupt auf die
angegebene Adresse (=Int 21h, Fkt.25h). Diese wird vorher in Segment/Offset
umgerechnet und dann in der Interrupt-Tabelle in den ersten 1024 Bytes
des DOS-Speichers eingetragen. Die neue Interruptfunktion muß sich
im konventionellen Speicher befinden.
Rückgabewert :
Keiner.
Prototyp : int APIENTRY DosSetTime( struct dostime_t *dt );
Header : <dicerte.h>
Beschreibung :
DosSetTime setzt die aktuelle Systemzeit (=Int 21h, Fkt.2Dh) nach den
Informationen aus der übergebenen dostime_t-Struktur.
Rückgabewert :
Bei Erfolg liefert DosSetTime den Wert 0, ansonsten den Wert 255 (=ungültige
Uhrzeit).
Prototyp : int APIENTRY DosWrite( int handle, void *puffer, int
anzahl );
Header : <dicerte.h>
Beschreibung :
DosWrite schreibt die angegebene Anzahl Bytes aus einem Puffer in eine
Datei (=Int 21h, Fkt.40h). Im Falle eines Fehlers wird der Fehlercode als
negative Zahl zurückgeliefert, ansonsten die Anzahl der erfolgreich
geschriebenen Bytes (diese Zahl kann kleiner sein als die gewünschte
Anzahl, was in der Regel einen Fehler anzeigt).
Rückgabewert :
Bei Erfolg wird die Anzahl der geschriebenen Bytes als Integerwert
zurückgeliefert, ansonsten ein DOS-Fehlercode als negativer Wert.
Prototyp : int APIENTRY DpmiAllocCallback( struct dpmiproc_t
*dp, REGS32 *rs );
Header : <dicerte.h>
Beschreibung :
DpmiAllocCallback dient zur Ermittlung der Adresse einer Real Mode-Prozedur,
um die Ausführung von einer Real Mode- an eine Protected Mode-Prozedur
weiterzugeben. Der erste Parameter ist ein Zeiger auf eine dpmiproc_t-Struktur,
bei der die Komponenten _pmcs und _pmeip mit der Adresse
der auszuführenden Protected Mode-Prozedur gefüllt werden müssen.
Der zweite Parameter ist ein Zeiger auf eine Registerstruktur vom Typ REGS32,
der an die auszuführende Protected Mode-Prozedur übergeben wird.
Bei Erfolg füllt DpmiAllocCallback die Komponenten _rmcs und
_rmip mit einer Real Mode-Adresse (Segment:Offset), die Real Mode-Programme
anspringen müssen, um so die Ausführung der Protected Mode-Prozedur
auszulösen.
Rückgabewert :
DpmiAllocCallback gibt bei Erfolg den Wert 0, ansonsten den Wert -1
zurück.
Prototyp : int APIENTRY DpmiAllocdesc( int anzahl );
Header : <dicerte.h>
Beschreibung :
Belegt eine bestimmte Anzahl fortlaufender Deskriptoren über den
DPMI-Host (=Int 31h,Fkt.00h). Jeder Deskriptor hat die Basis und die Größe
0 sowie den Typ DATA. Falls mehrere Deskriptoren angefordert wurden, können
deren Werte durch Addition der Rückmeldung von DpmiIncVal
ermittelt werden.
Rückgabewert :
Bei Erfolg liefert die Funktion den ersten allokierten Deskriptor zurück,
ansonsten -1 bei Fehler.
Prototyp : int APIENTRY DpmiAllocMem( unsigned groesse, struct
dpmimem_t *dm );
Header : <dicerte.h>
Beschreibung :
Allokiert einen Block und gibt den Zeiger auf den Block und dessen
Handle in der dpmimem_t-Struktur zurück
(=Int 31h,Fkt501h). Der allokierte Block ist grundsätzlich nicht "gelockt".
Der Parameter groesse wird in Bytes angegeben, wobei viele DPMI-Hosts
diesen Wert automatisch auf die nächste Seitengrenze (4K) aufrunden.
Rückgabewert :
Bei Erfolg füllt die Funktion die dpmimem_t-Struktur
und gibt den Integerwert 0 zurück, ansonsten -1 bei Fehler.
Prototyp : int APIENTRY DpmiCreateAlias( int codedeskriptor );
Header : <dicerte.h>
Beschreibung :
DpmiCreateAlias erzeugt einen Alias-Deskriptor für einen bestehenden
Code-Deskriptor (=Int 31h,Fkt.0Ah). Der neue Deskriptor ist unabhängig
vom Original, d.h. Änderungen am Originaldeskriptor haben keine Auswirkungen
auf den Alias-Deskriptor. Dieser neue Deskriptor ist vom Typ ‘DATA’, das
heißt mit ihm kann indirekt auf das Codesegment, das der ursprüngliche
Deskriptor adressierte, zugegriffen werden.
Rückgabewert :
Bei Erfolg liefert die Funktion den neuen ‘Data’-Deskriptor zurück
oder -1 bei Fehler.
Prototyp : int APIENTRY DpmiFreeCallback( struct dpmiproc_t *dp
);
Header : <dicerte.h>
Beschreibung :
Gibt den mit DpmiAllocCallback belegten
Callback an den Host zurück (=Int 31h,Fkt.304h). Die Komponenten _rmcs
und _rmip der dpmiproc_t-Struktur
müssen vorher durch einen Aufruf von DpmiAllocCallback
mit korrekten Werten gefüllt worden sein.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück oder -1 bei
Fehler.
Prototyp : int APIENTRY DpmiFreeDesc( int deskriptor );
Header : <dicerte.h>
Beschreibung :
Gibt einen zuvor belegten Deskriptor an den DPMI-Host zurück (=Int
31h,Fkt.01h).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück oder -1 bei
Fehler.
Prototyp : int APIENTRY DpmiFreeMem( unsigned handle );
Header : <dicerte.h>
Beschreibung :
Gibt einen mit DpmiAllocMem belegten Speicherblock
an den DPMI-Host zurück (=Int 31h,Fkt.502h). Zur Identifizierung des
Blocks genügt die Übergabe des Handles aus der dpmimem_t-Struktur.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück oder -1 bei
Fehler.
Prototyp : void * APIENTRY DpmiGetBase( int deskriptor );
Header : <dicerte.h>
Beschreibung :
Ermittelt die lineare Basisadresse eines Deskriptors (=Int 31h,Fkt.06h).
Rückgabewert :
Die Funktion gibt die lineare Basisadresse eines Deskriptors zurück
oder -1 bei Fehler (=Deskriptor existiert nicht).
Prototyp : int APIENTRY DpmiGetDesc( int deskriptor, void *puffer
);
Header : <dicerte.h>
Beschreibung :
DpmiGetDesc legt die Dateninhalte eines Deskriptors in einem 8 Byte
großen Puffer ab (=Int 31h,Fkt.0Bh).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück oder -1 bei
Fehler.
Prototyp : int APIENTRY DpmiGetDisableVInt( void );
Header : <dicerte.h>
Beschreibung :
Schaltet die virtuellen Interrupts aus und gibt den vorherigen Zustand
zurück (=Int 31h.Fkt.900h).
Rückgabewert :
Der Rückgabewert gibt den vorherigen Zustand der virtuellen Interrupts
an :
0=vorher ausgeschaltet,
1=vorher eingeschaltet
Prototyp : int APIENTRY DpmiGetEnableVInt( void );
Header : <dicerte.h>
Beschreibung :
Schaltet die virtuellen Interrupts ein und gibt den vorherigen Zustand
zurück (=Int 31h.Fkt.901h).
Rückgabewert :
Der Rückgabewert gibt den vorherigen Zustand der virtuellen Interrupts
an :
0=vorher ausgeschaltet,
1=vorher eingeschaltet
Prototyp : int APIENTRY DpmiGetFreeMem( struct dpmimeminfo_t
*dm );
Header : <dicerte.h>
Beschreibung :
DpmiGetFreeMem legt Daten über die Speicherbelegung in der
dpmimeminfo_t-Struktur ab (=Int
31h,Fkt.500h).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück oder -1 bei
Fehler.
Prototyp : int APIENTRY DpmiGetPmInt( int irq, struct dpmiproc_t
*dp );
Header : <dicerte.h>
Beschreibung :
DpmiGetPmInt gibt die Far-Adresse einer Protected Mode-Interruptprozedur
in der dpmiproc_t-Struktur zurück
(=Int 31h,Fkt.204h). In der Struktur werden nur die Komponenten _pmcs
(=Codesegment) und _pmeip (=Offset) gefüllt.
Rückgabewert :
Bei Erfolg füllt die Funktion _pmcs und _pmeip in
der Struktur und gibt den Wert 0 zurück, ansonsten -1 bei Fehler.
Prototyp : void * APIENTRY DpmiGetRmInt( int intno );
Header : <dicerte.h>
Beschreibung :
Ermittelt die Adresse eines Real Mode-Interrupthandlers (=Int 31h,Fkt.200h).
Rückgabewert :
Der Rückgabewert ist ein Zeiger auf einen Real Mode-Interrupthandler.
Prototyp : int APIENTRY DpmiGetSaveRest( struct dpmiproc_t *dp
);
Header : <dicerte.h>
Beschreibung :
Ermittelt die Adressen der Save/Restore-Prozeduren des DPMI-Hosts (=Int
31h,Fkt.305h). Die Far-Adressen für die Protected- und Real Mode-Prozeduren
werden in der dpmiproc_t-Struktur abgelegt,
zusätzlich wird die Größe des benötigten Statuspuffers
zurückgeliefert. Diese Daten werden nur benötigt, wenn die Rawswitch-Methode
des DPMI-Hosts benutzt werden soll. Die beiden Prozeduren zur Sicherung/Wiederherstellung
des Status werden mit folgenden Parametern aufgerufen :
AL = 0 : Status sichern
AL = 1 : Status wiederherstellen
ES:EDI : Zeiger auf Statuspuffer
Die Funktion füllt alle vier Komponenten der dpmiproc_t-Struktur.
Rückgabewert :
Die Funktion liefert die benötigte Größe des Statuspuffers
zur Sicherung des Status zurück oder -1 bei Fehler.
Prototyp : void APIENTRY DpmiGetVersion( struct dpmiver_t *dp
);
Header : <dicerte.h>
Beschreibung :
Ermittelt die Versionsdaten des installierten DPMI-Hosts und legt sie
in der dpmiver_t-Struktur ab (=Int 31h,Fkt.400h).
Das _flags-Feld der Struktur hat folgende Bedeutung :
Bit 0 = 1 : 32Bit-Host aktiv
Bit 1 = 1 : CPU schaltet in echten RealMode statt V86-Mode bei Interrupts
Bit 2 = 1 : virtueller Speicher wird unterstützt
Bit 3 : reserviert (undefiniert)
Bits 4-15 : reserviert (Null)
Rückgabewert :
Keiner.
Prototyp : int APIENTRY DpmiGetVIntState( void );
Header : <dicerte.h>
Beschreibung :
Ermittelt den augenblicklichen Zustand der virtuellen Interrupts (=Int
31h.Fkt.902h).
Rückgabewert :
Die Funktion liefert den aktuellen Zustand der virtuellen Interrupts
zurück :
0=ausgeschaltet
1=eingeschaltet
Prototyp : int APIENTRY DpmiIncVal( void );
Header : <dicerte.h>
Beschreibung :
Ermittelt den Erhöhungswert für direkt hintereinanderliegende
Deskriptoren (=Int 31h,Fkt.03h). Dieser Wert kann benutzt werden, um die
fortlaufenden Werte für zusammenhängend allokierte Deskriptoren
(DpmiAllocDesc) zu bestimmen.
Rückgabewert :
Erhöhungswert für hintereinanderliegende Deskriptoren.
Prototyp : int APIENTRY DpmiRawSwitchAddr( struct dpmiproc_t
*dp );
Header : <dicerte.h>
Beschreibung :
Ermittelt die Adressen der Funktionen zur Benutzung der Rawswitch-Methode
des DPMI-Hosts (=Int 31h,Fkt.306h). Die Adresse der Prozedur zur Umschaltung
vom Real- in den Protected Mode steht in _rmcs und _rmip,
während die Funktion zur Umschaltung vom Protected- in den Real-Mode
in _pmcs und _pmeip der dpmiproc_t-Struktur
steht. Beide Prozeduren müssen wie folgt aufgerufen werden :
AX = neues DS
CX = neues ES
DX = neues SS
(E)BX = neuer (E)SP
SI:(E)DI = neues CS:(E)IP
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiResizeMem( unsigned groesse, unsigned
handle, struct dpmimem_t *dm );
Header : <dicerte.h>
Beschreibung :
DpmiResizeMem ändert die Größe eines zuvor mittels
DpmiAllocMem belegten Blocks (=Int 31h,Fkt.503h).
Zur Identifizierung des Blocks genügt die Übergabe des Handles
aus der dpmimem_t-Struktur. Die Adresse
und das Handle des geänderten Blocks werden in der dpmimem_t-Struktur
abgelegt. Der Parameter groesse wird in Bytes angegeben, wobei viele
DPMI-Hosts diesen Wert automatisch auf die nächste Seitengrenze (4K)
aufrunden.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiRmProcIret( int words, REGS32 *rs
);
Header : <dicerte.h>
Beschreibung :
Führt eine Real Mode-Prozedur aus (=Int 31h,Fkt.302h). Der erste
Parameter gibt an, wieviel Words vor dem Aufruf vom Protected- auf den
Real Mode-Stack kopiert werden sollen. Die restlichen Informationen werden
von der Funktion aus der Registerstruktur REGS32
entnommen. Die Adresse der Real Mode-Prozedur wird durch den Inhalt der
Felder CS:IP aus der Registerstruktur bestimmt. Nach erfolgreicher Ausführung
der Real Mode-Prozedur werden die Registerinhalte in die Registerstruktur
zurückgespeichert. Die aufgerufene Real-Mode Prozedur muß die
Ausführung mit einem IRET beenden.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiRmProcRetf( int words, REGS32 *rs
);
Header : <dicerte.h>
Beschreibung :
Führt eine Real Mode-Prozedur aus (=Int 31h,Fkt.301h). Der erste
Parameter gibt an, wieviel Words vor dem Aufruf vom Protected- auf den
Real Mode-Stack kopiert werden sollen. Die restlichen Informationen werden
von der Funktion aus der Registerstruktur REGS32
entnommen. Die Adresse der Real Mode-Prozedur wird durch den Inhalt der
Felder CS:IP aus der Registerstruktur bestimmt. Nach erfolgreicher Ausführung
der Real Mode-Prozedur werden die Registerinhalte in die Registerstruktur
zurückgespeichert. Die aufgerufene Real Mode-Prozedur muß die
Ausführung mit einem RETF beenden.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiSetBase( int deskriptor, void *basis
);
Header : <dicerte.h>
Beschreibung :
DpmiSetBase setzt eine neue lineare Basisadresse für einen Deskriptor
(=Int 31h,Fkt.7h).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiSetDesc( int deskriptor, void *puffer
);
Header : <dicerte.h>
Beschreibung :
Liest den Inhalt des 8-Byte-Puffers in die Datenfelder des entsprechenden
Deskriptors (=Int 31h, Fkt.0Ch).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiSetLimit( int deskriptor, unsigned
limit );
Header : <dicerte.h>
Beschreibung :
Setzt ein neues Limit für den angegebenen Deskriptor (=Int 31h,
Fkt.08h).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiSetPmInt( int intno, struct dpmiproc_t
*dp );
Header : <dicerte.h>
Beschreibung :
Setzt den Vektor für einen Protected Mode-Interrupt auf eine neue
Prozedur (=Int 31h,Fkt.205h), deren Adresse aus der dpmiproc_t-Struktur
genommen wird. Benötigt werden die Felder _pmcs und _pmeip,
die das Segment und den Offset der Interruptprozedur enthalten müssen.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiSetRights( int deskriptor, int zugriff,
int erw_zugriff );
Header : <dicerte.h>
Beschreibung :
Setzt neue Zugriffsrechte für einen Deskriptor (=Int 31h, Fkt.09h).
Der Parameter zugriff hat folgenden Aufbau :
Bit 0 | 0=noch kein Zugriff / 1=Zugriff geschehen |
Bit 1 | Data : 0=Lesen / 1=Lesen&Schreiben |
Code : muß 1 sein | |
Bit 2 | Data : 0=expand-up / 1=expand-down |
Code : muß 0 sein (conforming) | |
Bit 3 | 0=Data / 1=Code |
Bit 4 | muß 1 sein |
Bits 5-7 | identisch mit CPL |
Der Parameter erw_zugriff hat folgenden Aufbau :
Bits 0-3 | Reserviert |
Bit 4 | 0 oder 1 (frei verfügbar) |
Bit 5 | muß 0 sein |
Bit 6 | 0=16-Bit-Adressierung / 1=32-Bit-Adressierung |
Bit 7 | 0=Byte-granular / 1=Page-granular |
Prototyp : int APIENTRY DpmiSetRmInt( int intno, void *adr );
Header : <dicerte.h>
Beschreibung :
Setzt den Vektor eines Real Mode-Interrupts auf eine neue Funktion
(=Int 31h,Fkt.201h). Die Funktion, auf die adr zeigt, muß
sich im konventionellen Speicher befinden.
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : int APIENTRY DpmiSimRmInt( int intno, int words, REGS32
*rs );
Header : <dicerte.h>
Beschreibung :
Simuliert die Ausführung eines Real Mode-Interrupts. Der zweite
Parameter gibt an, wieviel Words vor dem Aufruf vom Protected- auf den
Real Mode-Stack kopiert werden sollen. Die restlichen Informationen werden
von der Funktion aus der Registerstruktur REGS32
entnommen. Nach erfolgreicher Ausführung des Real Mode-Interrupts
werden die Registerinhalte in die Registerstruktur zurückgespeichert
(=Int 31h, Fkt.300h).
Rückgabewert :
Bei Erfolg liefert die Funktion den Wert 0 zurück, ansonsten -1
bei Fehler.
Prototyp : struct execerr_t * APIENTRY GetExecErr( void );
Header : <dicerte.h>
Beschreibung :
Liefert einen Zeiger auf eine Struktur vom Typ execerr_t
zurück, die genaue Informationen über den Fehlschlag eines Aufrufes der Funktion
AppExec enthält.
Folgende Fehlercodes können zurückgeliefert werden :
Code | Bedeutung |
-1 | Datei nicht gefunden |
-2 | Zuwenig Speicher |
-3 | Lesefehler |
-4 | Strukturfehler in Datei |
-5 | Illegale Relokation |
-6 | Symbol nicht gefunden |
-7 | Fehler bei DllInit |
Der Fehlercode -7 bedeutet, daß bei einer der DllInit-Funktionen die Initialisierung fehlschlug (Returncode 3, siehe Kapitel 2.7).
Rückgabewert :
Zeiger auf die Struktur mit den Fehlerdaten.
Prototyp : void APIENTRY GetSysData( struct sysvars_t *sv );
Header : <dicerte.h>
Beschreibung :
Die Funktion trägt einige Informationen über die Laufzeitumgebung
in der sysvars_t-Struktur ein, deren Zeiger
beim Aufruf übergeben wurde.
Rückgabewert :
Keiner.
Prototyp : char * APIENTRY HexStrLeft( unsigned wert );
Header : <dicerte.h>
Beschreibung :
Wandelt den übergebenen, vorzeichenlosen Integerwert in eine Zeichenfolge
im Hexadezimalsystem um und gibt einen Zeiger auf die Zeichenfolge zurück.
Der Speicherbereich, in den die Zeichenfolge abgelegt wird, wird auch von
den anderen Umwandlungsfunktionen benutzt (DecStrLeft,
DecStrRight, HexStrRight
).
Rückgabewert :
Die Funktion liefert einen Zeiger auf die umgewandelte Zeichenfolge
zurück.
Prototyp : char * APIENTRY HexStrRight( unsigned wert );
Header : <dicerte.h>
Beschreibung :
Wandelt den übergebenen, vorzeichenlosen Integerwert in eine Zeichenfolge
im Hexadezimalsystem um (linksbündig, mit führenden Leerzeichen)
und gibt einen Zeiger auf die Zeichenfolge zurück. Der Speicherbereich,
in den die Zeichenfolge abgelegt wird, wird auch von den anderen Umwandlungsfunktionen
benutzt (DecStrLeft, DecStrRight,
HexStrLeft ).
Rückgabewert :
Die Funktion liefert einen Zeiger auf die umgewandelte Zeichenfolge
zurück.
Prototyp : unsigned APIENTRY HexVal( char *str );
Header : <dicerte.h>
Beschreibung :
Wandelt die übergebene Zeichenfolge (vorzeichenlose Hexadezimalzahl)
in einen 32-Bit Integerwert um.
Rückgabewert :
Die Funktion liefert den umgewandelten 32Bit-Integerwert zurück.
Prototyp : void * APIENTRY LowAlloc( unsigned groesse );
Header : <dicerte.h>
Beschreibung :
Allokiert einen Speicherblock in der angegebenen Größe im
konventionellen Speicher und gibt einen Zeiger auf diesen zurück.
Der Parameter groesse wird in Bytes erwartet und automatisch auf
Paragraphengrenze ausgerichtet.
Rückgabewert :
Zeiger auf allokierten Block oder NULL bei Fehler.
Prototyp : void APIENTRY LowFree( void *adr );
Header : <dicerte.h>
Beschreibung :
Siehe Beschreibung zu MemFree.
Rückgabewert :
Keiner.
Prototyp : unsigned APIENTRY LowLeft( void );
Header : <dicerte.h>
Beschreibung :
Gibt die Größe des verfügbaren konventionellen Speichers
zurück.
Rückgabewert :
Die Funktion liefert die verfügbare Größe des konventionellen
Speichers in Bytes zurück.
Prototyp : void * APIENTRY LowResize( void *adr, unsigned groesse
);
Header : <dicerte.h>
Beschreibung :
Ändert die Größe eines zuvor mit LowAlloc
belegten Speicherblocks und gibt die Adresse des Blocks zurück. Ist
bei einer Vergrößerung hinter dem Block nicht genug Speicher
frei, scheitert der Aufruf (DOS verschiebt den Block nicht, falls an anderer
Stelle noch genug Platz wäre). Der Parameter groesse gibt die
neue Größe des Blocks in Bytes an.
Rückgabewert :
Zeiger auf geänderten Block oder NULL bei Fehler.
Prototyp : void APIENTRY MemDump( void *start, void *end );
Header : <dicerte.h>
Beschreibung :
Gibt einen Speicherbereich als Dump auf dem Standard-Ausgabegerät
aus. Die beiden Parameter bestimmen die Anfangs- und Endadresse des Bereichs.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY MemFree( void *adr );
Header : <dicerte.h>
Beschreibung :
Gibt einen mit XmAlloc oder LowAlloc
belegten Speicherblock an das System zurück.
Rückgabewert :
Keiner.
Prototyp : int APIENTRY VesaGetMode( void );
Header : <direcrte.h>
Beschreibung :
Ermittelt die Codenummer des aktuellen Video-Modus einschließlich
aller nicht-VESA-Modi.
Rückgabewert :
Der Code des aktuellen Video-Modus oder -1, falls kein VESA-Treiber
installiert ist.
Prototyp : unsigned APIENTRY VesaGetWindow( int fenster );
Header : <dicerte.h>
Beschreibung :
Die Funktion ermittelt die aktuelle Lage des Zugriffsfensters im Video-RAM.
Als window können die Werte 0 und 1 benutzt werden.
Rückgabewert :
Es wird die Adresse des angegebenen Zugriffsfensters geliefert oder
-1, falls kein VESA-Treiber installiert ist.
Prototyp : BOOL VesaInfo( void *info );
Header : <dicerte.h>
Beschreibung :
Die Funktion stellt die Existenz eines VESA-Treibers fest und füllt
den übergebenen Puffer mit Informationen über den Treiber. Dieser
Infopuffer muß sich im konventionellen Speicher befinden und wird
mit folgenden Daten gefüllt :
Offset | Bedeutung |
+ 0 | Signatur 'VESA' |
+ 4 | übergeordnete VESA-Version |
+ 5 | untergeordnete VESA-Version |
+ 6 | RealMode-FAR-Zeiger auf ASCIIZ-String mit Herstellerbezeichnung |
+ 10 | Flag über Leistungsfähigkeit der Karte |
+ 14 | RealMode-FAR-Zeiger auf Liste mit Codenummern der unterstützten VESA-Modi (pro Modus ein Word / Abschluß der Liste mit 0xFFFF) |
Prototyp : BOOL APIENTRY VesaLoadState( unsigned komp, void *status
);
Header : <dicerte.h>
Beschreibung :
Restauriert die angegebenen Komponenten der SuperVGA-Karte aus dem
Statuspuffer. Der Parameter zustaende hat folgende Bedeutung :
Bit | SuperVGA-Komponente |
0 | Status der Video-Hardware |
1 | Variablen aus BIOS-Datenbereich |
2 | Register der DAC-Farbtabelle |
3 | SuperVGA-Status |
Rückgabewert :
TRUE, wenn die Funktion ordnungsgemäß ausgeführt wurde,
ansonsten FALSE.
Prototyp : BOOL APIENTRY VesaModeInfo( int modus, void *info
);
Header : <dicerte.h>
Beschreibung :
Diese Funktion liefert Informationen über einen bestimmten Video-Modus
in dem Infopuffer, der sich im konventionellen Speicher befinden muß,
zurück. Der Parameter mode entspricht dabei einer der Codenummern
aus der Modi-Tabelle, die durch einen Aufruf von VesaInfo
geliefert wurde. Der Infopuffer wird mit den folgenden Daten gefüllt
:
Offset | Bedeutung |
+ 0 | Modus-Flag |
+ 2 | Flags für erstes Zugriffsfenster |
+ 3 | Flags für zweites Zugriffsfenster |
+ 4 | Granularität, mit der die beiden Zugriffsfenster verschoben werden können (in KB) |
+ 6 | Größe der beiden Zugriffsfenster (in KB) |
+ 8 | Segmentadresse erstes Zugriffsfenster |
+ 10 | Segmentadresse zweites Zugriffsfenster |
+ 12 | RealMode-FAR-Zeiger auf eine RealMode-Routine, die den sichtbaren Bereich der beiden Zugriffsfenster einstellen |
+ 16 | Anzahl Bytes, die jede einzelne Punktzeile im Video-RAM belegt |
Bit | Bedeutung |
0 | Nutzung des Modus auf dem Monitor möglich ? |
1 | Rückgabe der optionalen Informationen (siehe unten) ? |
2 | Unterstützung der BIOS-Textfunktionen in diesem Modus ? |
3 | Farb- (1) oder Monochrom-Modus (0) |
4 | Grafik- (1) oder Text-Modus (0) |
Offset | Bedeutung |
+ 18 | X-Auflösung in Zeichen bzw. Pixeln |
+ 20 | Y-Auflüsung in Zeichen bzw. Pixeln |
+ 22 | Breite der Zeichenmatrix in Pixeln |
+ 23 | Höhe der Zeichenmatrix in Pixeln |
+ 24 | Anzahl der Bit-Planes |
+ 25 | Anzahl der Bits pro Pixel |
+ 26 | Anzahl der Speicherblöcke |
+ 27 | Speichermodell |
+ 28 | Größe der Speicherblöcke in KB |
Bit | Bedeutung |
0 | Fenster verfügbar (1) oder nicht (0) |
1 | Lesezugriff auf VideoRAM über dieses Fenster möglich ? |
2 | Schreibzugriff auf VideoRAM über dieses Fenster möglich ? |
Inhalt | Bedeutung |
0x00 | Textmodus |
0x01 | CGA-Format |
0x02 | Hercules-Format |
0x03 | normales EGA-/VGA-Format für 16-Farben Grafikmodi |
0x04 | gepacktes Format / zwei Punkte pro Byte |
0x05 | normales EGA-/VGA-Format für 256-Farben Grafikmodi |
0x06 - 0x0f | reserviert |
0x10 - 0xff | ungenutzt |
Prototyp : BOOL APIENTRY VesaSaveState( unsigned komp, void *status
);
Header : <dicerte.h>
Beschreibung :
Nachdem die Größe des benötigten Sicherungspuffers
mit der Funktion VesaStateSize ermittelt wurde,
werden hier die angegebenen Komponenten im Puffer gesichert. Der Parameter
komp hat folgende Bedeutung :
Bit | SuperVGA-Komponente |
0 | Status der Video-Hardware |
1 | Variablen aus BIOS-Datenbereich |
2 | Register der DAC-Farbtabelle |
3 | SuperVGA-Status |
Rückgabewert :
TRUE, wenn die Funktion ordnungsgemäß ausgeführt wurde,
ansonsten FALSE.
Prototyp : BOOL APIENTRY VesaSetMode( int modus, BOOL loesch
);
Header : <dicerte.h>
Beschreibung :
Diese Funktion aktiviert einen der VESA-Modi der SuperVGA-Karte. Der
Parameter mode ist eine der Codenummern, die durch die Funktion VesaInfo
geliefert wurden. Ist der Parameter loesch gesetzt, wird der VideoRAM
automatisch gelöscht.
Rückgabewert :
TRUE, wenn die Funktion ordnungsgemäß ausgeführt wurde,
ansonsten FALSE.
Prototyp : BOOL APIENTRY VesaSetWindow( int fenster, unsigned
adresse );
Header : <dicerte.h>
Beschreibung :
Mit dieser Funktion wird eines der beiden Zugriffsfenster auf eine
neue Adresse innerhalb des VideoRAMs gesetzt, um mit einem Programm auf
den entsprechenden Bereich zugreifen zu können. Als fenster
sind die Werte 0 und 1 erlaubt.
Rückgabewert :
TRUE, wenn die Funktion ordnungsgemäß ausgeführt wurde,
ansonsten FALSE.
Prototyp : int APIENTRY VesaStateSize( unsigned komp );
Header : <dicerte.h>
Beschreibung :
Ermittelt die Größe des benötigten VESA-Statuspuffers
abhängig von den zu sichernden Komponente. Der Parameter komp
hat folgende Bedeutung :
Bit | SuperVGA-Komponente |
0 | Status der Video-Hardware |
1 | Variablen aus BIOS-Datenbereich |
2 | Register der DAC-Farbtabelle |
3 | SuperVGA-Status |
Prototyp : unsigned short APIENTRY VgaGetChar( int seite );
Header : <dicerte.h>
Beschreibung :
Ermittelt das Zeichen und dessen Farbe an der aktuellen Cursorposition
in der angegebenen Seite.
Rückgabewert :
Der ASCII-Zeichencode wird im unteren Byte und dessen Farbe im oberen
Byte zurückgeliefert.
Prototyp : unsigned short APIENTRY VgaGetCurPos( int seite );
Header : <dicerte.h>
Beschreibung :
Die Funktion liefert die aktuelle Cursorposition in der angegebenen
Bildschirmseite. Die Position bezieht sich immer auf das Text-Koordinatensystem,
auch in einem Grafikmodus.
Rückgabewert :
Die aktuelle Cursorzeile wird im oberen Byte und die aktuelle Cursorspalte
im unteren Byte zurückgeliefert.
Prototyp : void APIENTRY VgaGetDacRegs( int start, int anzahl,
void *puffer );
Header : <dicerte.h>
Beschreibung :
Mit dieser Funktion können die Inhalte mehrerer DAC-Farbregister
in dem angegebenen Puffer gespeichert werden. Pro Register werden dabei
drei Bytes benötigt, die jeweils für die drei Farbanteile Rot,
Grün und Blau stehen, wobei nur die ersten 6 Bits innerhalb jedes
Bytes entscheidend sind. Der Wertebereich für den Parameter start
reicht dabei von 0 bis 255 und für anzahl von 1 bis 256. Der
Puffer für die Farben muß sich im konventionellen Speicher befinden.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaGetInfo( void *info );
Header : <dicerte.h>
Beschreibung :
Die Funktion legt Informationen über den aktuellen Video-Modus
und über die allgemeinen Eigenschaften des VGA-BIOS in dem Infopuffer
ab. Dieser Infopuffer muß sich im konventionellen Speicher befinden
und eine Größe von mindestens 64 Bytes besitzen.
Offset | Bedeutung |
+ 0 | RealMode-FAR-Zeiger auf eine Tabelle im VGA-BIOS mit mehr Informationen |
+ 4 | Codenummer des aktuellen Bildschirmmodus |
+ 5 | Anzahl der Bildschirm- / Pixelzeilen |
+ 7 | Länge einer Bildschirmseite im VideoRAM |
+ 9 | Startadresse der aktuellen Bildschirmseite im VideoRAM |
+ 11 | Cursorposition in den acht Bildschirmseiten (pro Seite zwei Bytes : Spalte + Zeile) |
+ 27 | Ende-Zeile des Cursors (Pixel) |
+ 28 | Start-Zeile des Cursors (Pixel) |
+ 29 | Nummer der aktuellen Bildschirmseite |
+ 30 | Port-Adresse des Adressregisters des CRT-Controllers |
+ 32 | Inhalt des CRTC-Steuerregisters |
+ 33 | Inhalt des Color-Select-Registers |
+ 34 | Anzahl der Bildschirmzeilen |
+ 35 | Höhe der Zeichen in Pixeln |
+ 37 | Code des aktiven Video-Adapters |
+ 38 | Code des inaktiven Video-Adapters |
+ 39 | Anzahl der Farben |
+ 41 | Anzahl der Bildschirmseiten |
+ 42 | Anzahl der Pixelzeilen (0=200, 1=350, 2=400, 3=480) |
+ 43 | 1. Zeichentabelle (wenn Bit 3 im Attribut-Byte = 0) |
+ 44 | 2. Zeichentabelle (wenn Bit 3 im Attribut-Byte = 1) |
+ 45 | Statusinformationen |
+ 46 | reserviert |
+ 49 | Größe des VideoRAMs (0=64K, 1=128K, 2=192K, 3=256K) |
+ 50 | reserviert (bis Offset 63) |
Bit | Bedeutung |
0 | immer 0 |
1 | 1 = grey-scale-summing |
2 | 1 = Monochrom-Monitor |
3 | 1 = Aktivierung der Standardfarbpalette bei Moduswechsel |
4 | 1 = Cursor-Emulation |
5 | 1 = Blinken der Zeichen |
Offset | Bedeutung |
+ 0 | unterstützte Video-Modi (3 Bytes : Bit 0 = Modus 0x00, Bit 1 = Modus 0x01, ..., Bit 21 = Modus 0x13, Bits 22-23 unbenutzt) |
+ 3 | reserviert |
+ 7 | Anzahl der Pixelzeilen in den Textmodi (Bit 0=1:200, Bit 1=1:350, Bit 2=1:350, Bit 3=1:400 Zeilen möglich) |
+ 8 | Maximale Anzahl der Zeichensätze |
+ 9 | Anzahl der ladbaren Zeichnsätze |
+ 10 | Fähigkeiten des VGA-BIOS #1 |
+ 11 | Fähigkeiten des VGA-BIOS #2 |
+ 12 | reserviert (2 Bytes) |
+ 14 | reserviert (2 Bytes) |
Bit | Bedeutung |
0 | immer 0 |
1 | 1 = grey-scale-summing über VGA-BIOS-Funktionen 0x10 und 0x12 |
2 | 1 = Laden von Zeichnsätzen über VGA-BIOS-Funktionen 0x11 |
3 | 1 = Möglichkeit des Ladens von Standardfarbtabellen bei Moduswechsel |
4 | 1 = Cursor-Emulation |
5 | 1 = Einstellen einer 64Farben-Palette über VGA-BIOS-Funktion 0x10 |
6 | 1 = Einstellen des DAC über VGA-BIOS-Funktion 0x10 |
7 | 1 = Kontrolle des DAC über Attribut-Controller mit VGA-BIOS-Funktion 0x10 |
Bit | Bedeutung |
0 | 1 = Abfrage des Lichtstiftes mit VGA-BIOS-Funktion 0x04 |
1 | 1 = Sichern/Laden des Video-Status mit VGA-BIOS-Funktion 0x1c |
2 | 1 = Umschalten zwischen Blinken und hellem Hintergrund mit VGA-BIOS-Funktion 0x10 |
3 | 1 = Abfrage und Umschalten des aktiven Video-Adapters mit VGA-BIOS-Funktion 0x1a |
Prototyp : int APIENTRY VgaGetMode( void );
Header : <dicerte.h>
Beschreibung :
Liefert den Code des aktuellen Bildschirmmodus zurück :
Code | Modus |
0x00 | Text, 40x25, 16 Farben (ohne Farbdarstellung) |
0x01 | Text, 40x25, 16 Farben (mit Farbdarstellung) |
0x02 | Text, 80x25, 16 Farben (ohne Farbdarstellung) |
0x03 | Text, 80x25, 16 Farben (mit Farbdarstellung) |
0x04 | Grafik, 320x200, 4 Farben (ohne Farbdarstellung) |
0x05 | Grafik, 320x200, 4 Farben (mit Farbdarstellung) |
0x06 | Grafik, 640x200, 2 Farben (ohne Farbdarstellung) |
0x07 | Grafik, 640x200, 2 Farben (mit Farbdarstellung) |
0x0d | Grafik, 320x200, 16 Farben |
0x0e | Grafik, 640x200, 16 Farben |
0x0f | Grafik, 640x350, nur mit Monochrom-Monitor |
0x10 | Grafik, 640x350, 16 Farben |
0x11 | Grafik, 640x480, 2 Farben |
0x12 | Grafik, 640x480, 16 Farben |
0x13 | Grafik, 320x200, 256 Farben |
Prototyp : int APIENTRY VgaGetPalReg( int register );
Header : <dicerte.h>
Beschreibung :
Die Funktion ermittelt den Inhalt eines der 16 Palettenregister des
Attribut-Controllers.
Rückgabewert :
Der Inhalt des Palettenregisters.
Prototyp : void APIENTRY VgaLoadState( unsigned komp, void *status
);
Header : <dicerte.h>
Beschreibung :
Diese Funktion liest den mit VgaSaveState
gesicherten Zustand der genannten Komponenten des Video-Adapters zurück.
Der Statuspuffer muß sich im konventionellen Speicher befinden. Der
Parameter komp hat folgende Bedeutung :
Bit | Bedeutung |
0 | 1 = Video-Hardware |
1 | 1 = Datenbereiche des VGA-BIOS |
2 | 1 = DAC-Register |
Prototyp : void APIENTRY VgaPutChar( int zeichen, int farbe );
Header : <dicerte.h>
Beschreibung :
Gibt ein Zeichen an der aktuellen Cursor-Position in der aktuellen
Bildschirmseite in der Farbe des alten Zeichens aus. Danach wird der Cursor
um eine Position weitergesetzt. Der Parameter farbe spielt nur im
Grafikmodus eine Rolle; die Hintergrundfarbe ist immer 0.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaPutColorChar( unsigned short farbezeichen,
int anzahl, int seite );
Header : <dicerte.h>
Beschreibung :
Die Funktion gibt das Zeichen in der angegebenen Farbe und Häufigkeit
auf der entsprechenden Bildschirmseite aus. Das obere Byte des Parameters
farbezeichen enthält die Farbe des Zeichens und das untere
Byte den ASCII-Code des Zeichens.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaSaveState( unsigned komp, void *status
);
Header : <dicerte.h>
Beschreibung :
Diese Funktion sichert die Zustände der genannten Komponenten
des Video-Adapters in dem Statuspuffer, der sich im konventionellen Speicher
befinden muß. Der Parameter komp hat folgende Bedeutung :
Bit | Bedeutung |
0 | 1 = Video-Hardware |
1 | 1 = Datenbereiche des VGA-BIOS |
2 | 1 = DAC-Register |
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaSetBorder( int farbe );
Header : <dicerte.h>
Beschreibung :
Mit dieser Funktion kann die Farbe des Bildschirmrahmens gesetzt werden.
Der Wertebereich des Parameters farbe reicht von 0 bis 15.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaSetCurPos( int seite, int zeile,
int spalte );
Header : <dicerte.h>
Beschreibung :
Die Funktion versetzt den Bildschirm-Cursor an die angegebene Position
in der entsprechenden Bildschirmseite. Auch im Grafikmodus wird dabei das
Koordinatensystem des Textmodus benutzt (Spalte = 0-79 / Zeile = 0 - (Anzahl
Zeilen - 1)). Achtung : Die Position wird nur geändert, wenn die angegebene
Bildschirmseite auch die aktuelle Bildschirmseite ist.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaSetDacRegs( int start, int anzahl,
void *farben );
Header : <dicerte.h>
Beschreibung :
Mit dieser Funktion können die Inhalte mehrerer DAC-Farbregister
gleichzeitig mit den Farbwerten aus dem angegebenen Puffer geladen werden.
Pro Register werden dabei drei Bytes benötigt, die jeweils für
die drei Farbanteile Rot, Grün und Blau stehen, wobei nur die ersten
6 Bits innerhalb jedes Bytes entscheidend sind. Der Wertebereich für
den Parameter start reicht dabei von 0 bis 255 und für anzahl
von 1 bis 256. Der Puffer mit den Farbwerten für die DAC-Register
muß sich im konventionellen Speicher befinden.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaSetMode( int modus, BOOL loesch );
Header : <dicerte.h>
Beschreibung :
Die Funktion aktiviert einen neuen Bildschirmmodus und initialisiert
auf Wunsch das VideoRAM, um einen leeren Bildschirm zu erhalten. Als Bildschirmmodus
sind folgende Codes erlaubt :
Code | Modus |
0x00 | Text, 40x25, 16 Farben (ohne Farbdarstellung) |
0x01 | Text, 40x25, 16 Farben (mit Farbdarstellung) |
0x02 | Text, 80x25, 16 Farben (ohne Farbdarstellung) |
0x03 | Text, 80x25, 16 Farben (mit Farbdarstellung) |
0x04 | Grafik, 320x200, 4 Farben (ohne Farbdarstellung) |
0x05 | Grafik, 320x200, 4 Farben (mit Farbdarstellung) |
0x06 | Grafik, 640x200, 2 Farben (ohne Farbdarstellung) |
0x07 | Grafik, 640x200, 2 Farben (mit Farbdarstellung) |
0x0d | Grafik, 320x200, 16 Farben |
0x0e | Grafik, 640x200, 16 Farben |
0x0f | Grafik, 640x350, nur mit Monochrom-Monitor |
0x10 | Grafik, 640x350, 16 Farben |
0x11 | Grafik, 640x480, 2 Farben |
0x12 | Grafik, 640x480, 16 Farben |
0x13 | Grafik, 320x200, 256 Farben |
Prototyp : void APIENTRY VgaSetPage( int seite );
Header : <dicerte.h>
Beschreibung :
Die aktuelle Bildschirmseite wird durch diese Funktion eingestellt
(nur in einem der Textmodi). Bei einem Wechsel der aktuellen Bildschirmseite
wird der Bildschirm-Cursor auf die Position des Text-Cursors der neuen
Seite gesetzt, aber der Inhalt der Seiten wird nicht verändert.
Rückgabewert :
Keiner.
Prototyp : void APIENTRY VgaSetPalReg( int farbe, int register
);
Header : <dicerte.h>
Beschreibung :
Diese Funktion lädt eines der Palettenregister mit dem angegebenen
Wert.
Rückgabewert :
Keiner.
Prototyp : int APIENTRY VgaStateSize( unsigned komp );
Header : <dicerte.h>
Beschreibung :
Die Funktion ermittelt die Größe des benötigten Statuspuffers
für bestimmte Video-Komnponenten, um deren Status mit vgasavestate
zu sichern. Der Parameter komp hat folgende Bedeutung :
Bit | Bedeutung |
0 | 1 = Video-Hardware |
1 | 1 = Datenbereiche des VGA-BIOS |
2 | 1 = DAC-Register |
Prototyp : void * APIENTRY XmAlloc( unsigned groesse );
Header : <dicerte.h>
Beschreibung :
Allokiert einen Speicherblock in der angegebenen Größe im
erweiterten Speicher und gibt einen Zeiger auf diesen zurück. Der
Parameter groesse wird in Bytes erwartet und automatisch auf Paragraphengrenze
ausgerichtet.
Rückgabewert :
Zeiger auf allokierten Block oder NULL bei Fehler.
Prototyp : void APIENTRY XmFree( void *adr );
Header : <dicerte.h>
Beschreibung :
Siehe Beschreibung zu MemFree.
Rückgabewert :
Keiner.
Prototyp : unsigned APIENTRY XmLeft( void );
Header : <dicerte.h>
Beschreibung :
Gibt die verfügbare Größe des erweiterten Speichers
zurück.
Rückgabewert :
Die Funktion liefert die verfügbare Größe des erweiterten
Speichers in Bytes zurück.
Prototyp : int APIENTRY XmLock( void * );
Header : <dicerte.h>
Beschreibung :
Sperrt einen Speicherblock und schützt ihn somit vor der Freigabe. Auch eine
automatische Freigabe nach Beendigung der Anwendung wird verhindert.
Rückgabewert :
Bei Rückgabewert 0 konnte der Speicherblock erfolgreich gesperrt werden, ansonsten
nicht (=> kein gültiger belegter Speicherblock oder bereits gesperrt).
Prototyp : void * APIENTRY XmResize( void *adr, unsigned groesse );
Header : <dicerte.h>
Beschreibung :
Ändert die Größe eines zuvor mit XmAlloc
belegten Speicherblocks und gibt die Adresse des Blocks zurück. Ist
bei einer Vergrößerung hinter dem Block nicht genug Speicher
mehr frei, wird dieser Block in einen anderen Bereich verschoben, wo noch
genug Speicher verfügbar ist. Der Speicher an der ursprünglichen
Stelle wird in diesem Fall freigeben. Somit kann eine andere Adresse zurückgegeben
werden als die, die ursprünglich übergeben wurde. Der Parameter
groesse gibt die neue Größe des Blocks in Bytes an.
Rückgabewert :
Die Funktion liefert die Adresse des geänderten Blocks zurück
oder NULL bei Fehler.
Prototyp : int APIENTRY XmUnlock( void * );
Header : <dicerte.h>
Beschreibung :
Hebt die Sperrung eines Speicherblocks wieder auf. Dies kann nur durchgeführt werden,
wenn der Speicherblock von der gleichen Anwendung gesperrt wurde, d.h. Anwendungen
können nicht die Blöcke anderer entsperren.
Rückgabewert :
Bei Rückgabewert 0 konnte der Speicherblock erfolgreich entsperrt werden, ansonsten
nicht (=> kein gültiger gesperrter Speicherblock).