Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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
printfAufruf die Zeilenumbruchzeichen (\n) aufweist. Wenn dieser Wert TRUE ist, enthält der letzteprintfAufruf 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