Auf Englisch lesen

Freigeben über


SESSION-Struktur

[Diese Struktur enthält informationen, die nur bei Verwendung der Funktionen DeleteExtractedFiles und Extract erforderlich sind, die nicht unterstützt werden. Diese Dokumentation dient nur zu Informationszwecken.]

Die SESSION-Struktur enthält Informationen zur aktuellen Sitzung.

Syntax

typedef struct {
  ACTION    act;
  HFILELIST hflist;
  BOOL      fAllCabinets;
  BOOL      fOverwrite;
  BOOL      fNoLineFeed;
  BOOL      fSelfExtract;
  long      cbSelfExtractSize;
  long      cbSelfExtractSize;
  int       ahfSelf[cMAX_CAB_FILE_OPEN];
  int       cErrors;
  HFDI      hfdi;
  ERF       erf;
  long      cFiles;
  long      cbTotalBytes;
  PERROR    perr;
  SPILLERR  se;
  long      cbSpill;
  char      achSelf[cbFILE_NAME_MAX];
  char      achMsg[cbMAX_LINE*2];
  char      achLine;
  char      achLocation;
  char      achFile;
  char      achDest;
  char      achCabPath;
  BOOL      fContinuationCabinet;
  BOOL      fShowReserveInfo;
  BOOL      fNextCabCalled;
  CABINET   acab[2];
  char      achZap[cbFILE_NAME_MAX];
  char      achCabinetFile[cbFILE_NAME_MAX];
  int       cArgv;
  char      **pArgv;
  int       fDestructive;
  USHORT    iCurrentFolder;
} SESSION, *PSESSION;

Member

Handeln

Die auszuführende Aktion. Dieser Member kann einer der Werte aus dem folgenden aufgezählten Typ sein.

typedef enum {
    actBAD,         // Invalid action
    actHELP,        // Show help
    actDEFAULT,     // Perform default action based on command line arguments
    actDIRECTORY,   // Force display of cabinet directory
    actEXTRACT,     // Force file extraction
    actCOPY,        // Do single file-to-file copy
} ACTION;  

hflist

Das Handle für eine Liste von Dateien, die in der Befehlszeile angegeben sind. Dieser Datentyp wird wie folgt deklariert:

typedef void *HFILELIST;

fAllCabinets

Ein Flag, das angibt, ob mehrere Ablagedateien verarbeitet werden sollen. Wenn dieser Wert TRUE ist, werden Fortsetzungsschränke verarbeitet.

FOverwrite

Ein Flag, das angibt, ob vorhandene Dateien überschrieben werden sollen. Wenn dieser Wert TRUE ist, werden vorhandene Dateien überschrieben.

fNoLineFeed

Ein Flag, das angibt, ob der letzte printf Aufruf die Zeilenumbruchzeichen (\n) aufweist. Wenn dieser Wert TRUE ist, enthält der letzte printf Aufruf die Zeilenumbruchzeichen nicht.

fSelfExtract

Ein Flag, das angibt, ob eine Ablage selbst extrahierend ist. Wenn dieser Wert TRUE ist, ist die Ablage selbstextrahierend.

cbSelfExtractSize

Die Länge des ausführbaren Teils (.exe) einer selbstextrahierenden Ablage.

cbSelfExtractSize

Die Länge des CAB-Teils eines selbstextrahierenden Schranks.

ahfSelf

Die Datei wird an die Ablage verarbeitet.

#define cMAX_CAB_FILE_OPEN 2

cErrors

Die Anzahl der Fehler, die während der Extraktionssitzung aufgetreten sind.

hfdi

Ein Handle für den FDI-Kontext. Dieser Datentyp wird wie folgt deklariert:

typedef void FAR *HFDI;

Erf

Die FDI-Fehlerstruktur. Siehe ERF.

cFiles

Die Anzahl der verarbeiteten Dateien.

cbTotalBytes

Die Gesamtanzahl der extrahierten Bytes.

Perr

Die Passthrough-FDI.

Se

Der Dateiüberlauffehler. Dieser Member kann einer der Werte aus dem folgenden aufgezählten Typ sein.

typedef enum {
    seNONE,                     // No error
    seNOT_ENOUGH_MEMORY,        // Not enough RAM
    seCANNOT_CREATE,            // Cannot create spill file
    seNOT_ENOUGH_SPACE,         // Not enough space for spill file
} SPILLERR;

cbSpill

Die Größe der angeforderten Spilldatei.

achSelf

Der Name der ausführbaren Datei (.exe).

#define cbFILE_NAME_MAX 256

achMsg

Der Nachrichtenformatierungspuffer.

#define cbMAX_LINE 256

achLine

Der Zeilenformatierungspuffer.

achLocation

Das Ausgabeverzeichnis.

achFile

Der aktuelle Dateiname, der extrahiert wird.

achDest

Der Name der erzwungenen Zieldatei.

achCabPath

Der Pfad, der nach einer Ablagedatei gesucht werden soll.

fContinuationCabinet

Ein Flag, das angibt, ob die aktuelle Ablage die erste verarbeitete ist. Wenn dieser Wert auf TRUE festgelegt ist, handelt es sich nicht um die erste verarbeitete Ablage.

fShowReserveInfo

Ein Flag, das angibt, ob Reserveinformationen bereitgestellt werden sollen. Wenn diese Einstellung auf TRUE festgelegt ist, werden die Informationen zur Verfügung gestellt.

fNextCabCalled

Dieser Member bietet eine Möglichkeit, zu bestimmen, welche acab-Einträge verwendet werden sollen, wenn wir alle Dateien in einem Cabinet-Satz verarbeiten (fAllCabinet ist auf TRUE festgelegt).

Acab

Die letzten beiden Einträge im Ablagesatz. Diese Struktur ist wie folgt definiert:

typedef struct {
    char    achCabPath[cbFILE_NAME_MAX];     // Cabinet file path
    char    achCabFilename[cbFILE_NAME_MAX]; // Cabinet file name.ext
    char    achDiskName[cbFILE_NAME_MAX];    // User readable disk label
    USHORT  setID;
    USHORT  iCabinet;
} CABINET;
typedef CABINET *PCABINET;

achZap

Das Präfix, das aus dem Dateinamen entfernt werden soll.

#define cbFILE_NAME_MAX 256

achCabinetFile

Die aktuelle Cabinet-Datei.

#define cbFILE_NAME_MAX 256

cArgv

Die standardmäßige selbstextrahierende Argc.

pArgv

Ein Zeiger auf einen Zeiger auf den standardmäßigen selbstextrahierenden argv[].

fDestructive

Ein Flag, das den erforderlichen Speicherplatz auf dem Datenträger minimiert, wenn auf TRUE festgelegt ist.

iCurrentFolder

Wenn fDestructive auf TRUE festgelegt ist, extrahieren Sie nur den aktuellen Ordner.

Siehe auch

DeleteExtractedFiles

Extrahieren