Detaillierte Aufstellung aller LFN-Funktionen des Interrupt 21h unter Windows 95/MS-DOS 7:
Name |
Beschreibung |
Register vor dem Aufruf |
Register nach dem Aufruf |
Find first |
Startet eine Verzeichnissuche mit langen Verzeichnis- und Dateinamen |
AX=714Eh CL=mögliche Attribute (Tabelle 1) CH=erforderliche Attribute SI=Datumsformat (0: Neues 64-Bit-Format, 1: Altes DOS-Format) DS:DX=Zeiger auf Suchmaske (ASCIZ) ES:DI=Zeiger auf Such-Record (Tabelle 1) |
Such-Record bei ES:DI gefüllt AX=Such-Handle CX=Unicode-Konvertierungs-Flags Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 02h: Datei nicht gefunden 03h: Pfad nicht gefunden 7100h: Funktion nicht unterstützt
|
Find next |
Setzt eine Verzeichnissuche mit langen Verzeichnis- und Dateinamen fort |
AX=714Fh BX=Such-Handle (stammt von "Find first") SI=Datumsformat (0: Neues 64-Bit-Format, 1: Altes DOS-Format) ES:DI=Zeiger auf Such-Record (Tabelle 1) |
Such-Record bei ES:DI gefüllt Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 12h: Keine weiteren Dateien 7100h: Funktion nicht unterstützt
|
Find Close |
Beendet eine Verzeichnissuche mit langen Verzeichnis- und Dateinamen |
AX=71A1h BX=Such-Handle (stammt von "Find first") |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 06h: Ungültiges Handle 7100h: Funktion nicht unterstützt
|
Make directory |
Erstellt ein Verzeichnis mit langem Namen |
AX=7139h DS:DX=Zeiger auf Verzeichnisnamen (ASCIZ) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 03h: Pfad nicht gefunden 50h: Eintrag existiert 7100h: Funktion nicht unterstützt
|
Change directory |
Wechselt in ein Verzeichnis mit langem Namen |
AX=713Ah DS:DX=Zeiger auf Verzeichnisnamen (ASCIZ) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 03h: Pfad nicht gefunden 7100h: Funktion nicht unterstützt
|
Remove directory |
Löscht ein Verzeichnis mit langem Namen |
AX=713Bh DS:DX=Zeiger auf Verzeichnisnamen (ASCIZ) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 03h: Pfad nicht gefunden 7100h: Funktion nicht unterstützt |
Get current directory |
Ermittelt das aktuelle Verzeichnis mit langem Namen |
AX=7147h DS:DI=Zeiger auf Puffer für Verzeichnisnamen (ASCIZ) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
Create/open file |
Erstellt oder öffnet eine Datei |
AX=716Ch BX=Zugriffs/Sharing-Bits (Tabelle 3) CX=Dateiattribute DX=Aktion (siehe Text) DI=Gewünschte Nummer für kurzen Dateinamen DS:SI=Zeiger auf Puffer mit Dateinamen (ASCIZ)
|
AX=Datei-Handle CX=Durchgeführte Aktion Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: Diverse: Je nach Aktion 7100h: Funktion nicht unterstützt |
Close file |
Schließt eine geöffnete Datei (keine LFN-Variante verfügbar) |
AH=3Eh BX=Datei-Handle |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 06h: Ungültiges Handle |
Rename file/directory |
Benennt einen Verzeichniseintrag um |
AX=7156h DS:DX=Alter Name (ASCIZ) ES:SI=Alter Name (ASCIZ) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: Diverse: Je nach Aktion 7100h: Funktion nicht unterstützt |
Delete file/directory |
Löscht eine Datei (oder mehrere) |
AX=7141h DS:DX=Name der zu löschenden Datei SI=Joker- und Attribut-Flag Falls SI=1 dann: "*" und "?" in Name erlaubt sowie CL=mögliche Attribute und CH=erforderliche Attribute |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: Diverse: Je nach Aktion 7100h: Funktion nicht unterstützt |
Create subst |
Weist einer Laufwerkskennung einen Pfad zu |
AX=71AAh BH=0 BL=Laufwerk (0=aktuell, 1=A:, 2=B:, usw.) DS:DX=Name des zu substituierenden Pfades (ASCIZ) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
Terminate subst |
Beendet die Laufwerkszuweisung auf einen Pfad |
AX=71AAh BH=1 BL=Laufwerk (1=A:, 2=B:, usw., aber 0 nicht erlaubt) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
Query subst |
Ermittelt den Bezug einer Laufwerkskennung auf einen Pfad |
AX=71AAh BH=2 BL=Laufwerk (1=A:, 2=B:, usw., aber 0 nicht erlaubt) DS:DX=Puffer für Namen des eventuell substituierten Pfad (ASCIZ) |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
Truename |
Löst den Pfad eines Verzeichnisses oder eines Namens komplett auf |
AX=7160h CL=Modus: 0: keine Konvertierung von kurzen Namen in lange oder umgekehrt 1: Ergebnis enthält nur kurze Namen 2: Ergebnis enthält nur lange Namen CH=Expansions-Flag: 0: Auch substituierte Laufwerkskennung auflösen 1: Substituierte Laufwerkskennung im Ergebnis beibehalten DS:SI=Zeiger auf ASCIZ-String mit aufzulösendem Pfad ES:DI=Zeiger auf Ergebnispuffer |
Inhalt des Ergebnispuffers siehe Text Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
Get volume information |
Ermittelt verschiedene Laufwerksinformationen |
AX=71A0h DS:DX=Zeiger auf ASCIZ-String mit Laufwerksbuchstaben ES:DI=Zeiger auf Ergebnispuffer für Dateisystemname CX=Größe des Ergebnispuffers |
Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
Get file information by handle |
Ermittelt verschiedene Dateiinformationen über Handle |
AX=71A6h BX=Datei-Handle DS:DX=Zeiger auf Ergebnispuffer |
Ergebnispuffer gefüllt - Details siehe Tabelle 4 Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
File time to DOS time |
Wandelt 64-Bit-Zeitformat in DOS-Format um |
AX=71A7h BL=0 DS:SI=Zeiger auf 8-Byte-Puffer mit 64-Bit-Zeitinfo |
CX=Zeit in DOS-Format DX=Datum in DOS-Format BH=Anzahl der 1/100 Sekunden für CX Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
DOS time to File time |
Wandelt DOS-Zeitformat 64-Bit-Format in um |
AX=71A0h BL=1 CX=Zeit in DOS-Format DX=Datum in DOS-Format BH=Anzahl der 1/100 Sekunden für CX ES:DI=Zeiger auf 8-Byte-Puffer für 64-Bit-Zeitinfo |
Puffer bei ES:DI ist mit 64-Bit-Zeit gefüllt. Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
Get/set file attributes |
Dateiattribute lesen/setzen |
AX=7143h DS:DX=Zeiger Auf Dateinamen (ASCIZ) BL=Aktion: 0: Lade CX Mit Dateiattributen 1: Schreibe Dateiattribute In CX 2: Lade AX:DX mit physikalischer Größe einer kompromierten Datei 3: Schreibe neues Änderungsdatum (DOS-Format: CX=Zeit, DI=Datum) 4: Lies letztes Änderungsdatum in DOS-Format nach CX (Zeit) und DI (Datum) 5: Schreibe neues Zugriffsdatum (DOS-Format: CX=Zeit, DI=Datum) 6: Lies letztes Zugriffsdatum in DOS-Format nach CX (Zeit) und DI (Datum) 7: Schreibe neues Erstellungsdatum (DOS-Format: CX=Zeit, DI=Datum) 8: Lies Erstellungsdatum in DOS-Format nach CX (Zeit) und DI (Datum) |
Register gemäß Aktion gefüllt oder verarbeitet. Bei Fehler ist Carry-Flag gesetzt: AX=Fehlernummer: 7100h: Funktion nicht unterstützt |
©1998-2004 by Wolfgang Wirth