home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / lib4a86 / doc / print.doc < prev    next >
Text File  |  1992-02-02  |  4KB  |  121 lines

  1.   ─────────────────────────────────────────────────────────────────────────────
  2.   Dokumentation zur Datei: PRINT.INC
  3.  
  4.   ─────────────────────────────────────────────────────────────────────────────
  5.    
  6.     PRINT.INC    - Routinen zur Kommunikation mit dem Druckerspooler PRINT
  7.                    (für den Assembler A86)
  8.    
  9.                    (c) Bernd Schemmer 1990 - 1992
  10.                    Letzter Update: 02.02.1992
  11.    
  12.    
  13.     ■ Routinen:
  14.     -----------
  15.     PrintLoaded?          - Stellt fest, ob PRINT geladen ist
  16.     PrintFile             - Übergibt eine Datei an PRINT
  17.     DeletePrintQueueEntry - Löscht einen Eintrag aus der Warteschlange
  18.                             von PRINT
  19.     DeletePrintQueueEntrys
  20.                           - Löscht alle Einträge aus der Warteschlange
  21.                             von PRINT
  22.     GetPrintQUeueEntrys   - Ermittelt die Einträge aus der Warteschlange
  23.                             von PRINT
  24.    
  25.     Die Routinen benötigen eine DOS-Version ab 3.00 (muß von der
  26.     aufrufenden Routine überprüft werden!) und verwenden AX als
  27.     Arbeitsregister.
  28.    
  29.    
  30.     ■ Fehlernummern von PRINT
  31.    
  32.     PRINT_NotLoaded       EQU 00h
  33.     PRINT_InvalidFunction EQU 01h
  34.     PRINT_FileNotFound    EQU 02h
  35.     PRINT_PathNotFound    EQU 03h
  36.     PRINT_NoFreeHandle    EQU 04h
  37.     PRINT_AccesDenied     EQU 05h
  38.     PRINT_NoFreeEntry     EQU 08h
  39.     PRINT_Busy            EQU 09h
  40.     PRINT_NameToLong      EQU 0Ch
  41.     PRINT_InvalidDrive    EQU 0Fh
  42.    
  43.    
  44.     ----------------------------
  45.     PrintLoaded?
  46.    
  47.     Funktion:  Feststellen, ob PRINT geladen ist
  48.    
  49.     Ausgabe:   CF = 1 ->> PRINT nicht geladen
  50.                CF = 0 ->> PRINT geladen
  51.    
  52.     ----------------------------
  53.     PrintFile
  54.    
  55.     Funktion:  Übergabe einer Datei an PRINT zum Ausdrucken
  56.    
  57.     Eingabe:   DS:SI -> Dateiname (incl. Pfad)
  58.    
  59.     Ausgabe:   CF = 0 ->> okay
  60.                           Datei in die Warteschlange eingereiht
  61.                CF = 1 ->> Fehler
  62.                           AL = Fehlernummer
  63.                           (AL = 0 ->> PRINT nicht geladen)
  64.    
  65.     ----------------------------
  66.     DeletePrintQueueEntry
  67.    
  68.     Funktion:  Löschen eines Eintrages in der Warteschlange von
  69.                PRINT
  70.    
  71.     Eingabe:   DS:SI -> Name der Datei
  72.    
  73.     Ausgabe:   CF = 0 ->> okay
  74.                CF = 1 ->> Fehler
  75.                           AL = Fehlernummer
  76.                           (AL = 0 ->> PRINT nicht geladen)
  77.    
  78.     ----------------------------
  79.     DeletePrintQueueEntrys
  80.    
  81.     Funktion:  Löschen aller Einträge in der Warteschlange von
  82.                PRINT
  83.    
  84.     Ausgabe:   CF = 0 ->> okay
  85.                CF = 1 ->> Fehler
  86.                           AL = Fehlernummer
  87.                           (AL = 0 ->> PRINT nicht geladen)
  88.    
  89.     ----------------------------
  90.     GetPrintQueueEntrys
  91.    
  92.     Funktion:  Ermittelt die Dateien in der Warteschlange von PRINT
  93.    
  94.     Eingabe:   ES:DI ->> Array für die Dateinamen mit jeweils 65 Byte
  95.                          pro Eintrag für einen Dateinamen als String
  96.                          (->> 1 Längenbyte + 64 Byte für den Namen)
  97.                CX    =   Anzahl max. möglicher Einträge im Array
  98.    
  99.     Ausgabe:   CF = 0 ->> okay
  100.                           Puffer gefüllt
  101.                           CX = Anzahl Einträge in der Queue
  102.                CF = 1 ->> Fehler
  103.                           AL = Fehlernummer
  104.                           (AL = 0 ->> PRINT nicht geladen)
  105.                           Die Einträge im Array sind gelöscht und CX
  106.                           ist unverändert
  107.    
  108.     Bes.:     Falls der Array nicht genügend Platz für alle Einträge in
  109.               der Queue von PRINT hat, werden nur die ersten Einträge
  110.               übernommen. (erkennbar daran, daß nach dem Routinen-Ende
  111.               der Wert in CX größer als die max. Anzahl Elemente im
  112.               Array ist)
  113.    
  114.               Die nicht belegten Elemente des Arrays werden in jedem
  115.               Fall gelöscht.
  116.    
  117.               Durch Aufruf der Routine mit CX = 0 kann die akt. Anzahl
  118.               von Einträgen in der Queue von PRINT ermittelt werden.
  119.               (in diesem Fall ist der Inhalt von ES und DI bedeutungslos)
  120.    
  121.