Struktur SESSION
[Struktur ini hanya berisi informasi yang diperlukan saat menggunakan fungsi DeleteExtractedFiles dan Extract , yang tidak didukung. Dokumentasi ini disediakan hanya untuk tujuan informasi.]
Struktur SESSION berisi informasi tentang sesi saat ini.
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;
-
Bertindak
-
Tindakan yang harus dilakukan. Anggota ini bisa menjadi salah satu nilai dari jenis enumerasi berikut.
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
-
Handel ke daftar file yang ditentukan pada baris perintah. Jenis data ini dinyatakan sebagai berikut:
typedef void *HFILELIST;
-
fAllCabinets
-
Bendera yang menunjukkan apakah lebih dari satu file kabinet harus diproses. Jika nilai ini TRUE, kabinet kelanjutan akan diproses.
-
fOverwrite
-
Bendera yang menunjukkan apakah file yang ada harus ditimpa. Jika nilai ini TRUE, file yang ada akan ditimpa.
-
fNoLineFeed
-
Bendera yang menunjukkan apakah panggilan terakhir
printf
memiliki karakter baris baru (\n
). Jika nilai ini TRUE, panggilan terakhirprintf
tidak menyertakan karakter baris baru. -
fSelfExtract
-
Bendera yang menunjukkan apakah kabinet sedang mengekstrak sendiri. Jika nilai ini TRUE, kabinet akan diekstraksi sendiri.
-
cbSelfExtractSize
-
Panjang bagian yang dapat dieksekusi (.exe) dari kabinet ekstraksi mandiri.
-
cbSelfExtractSize
-
Panjang bagian CAB dari kabinet ekstraksi mandiri.
-
ahfSelf
-
File menangani ke kabinet.
#define cMAX_CAB_FILE_OPEN 2
-
cErrors
-
Jumlah kesalahan yang ditemui selama sesi ekstraksi.
-
hfdi
-
Handel ke konteks FDI. Jenis data ini dinyatakan sebagai berikut:
typedef void FAR *HFDI;
-
Erf
-
Struktur kesalahan FDI. Lihat ERF.
-
cFiles
-
Jumlah file yang diproses.
-
cbTotalBytes
-
Jumlah total byte yang diekstrak.
-
perr
-
Melewati FDI.
-
se
-
Kesalahan file tumpahan. Anggota ini bisa menjadi salah satu nilai dari jenis enumerasi berikut.
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
-
Ukuran file tumpahan yang diminta.
-
achSelf
-
Nama file yang dapat dieksekusi (.exe).
#define cbFILE_NAME_MAX 256
-
achMsg
-
Buffer pemformatan pesan.
#define cbMAX_LINE 256
-
achLine
-
Buffer pemformatan baris.
-
achLocation
-
Direktori output.
-
achFile
-
Nama file saat ini sedang diekstrak.
-
achDest
-
Nama file tujuan paksa.
-
achCabPath
-
Jalur untuk melihat file kabinet.
-
fContinuationCabinet
-
Bendera yang menunjukkan apakah kabinet saat ini adalah yang pertama diproses. Jika diatur ke TRUE, itu bukan kabinet pertama yang diproses.
-
fShowReserveInfo
-
Bendera yang menunjukkan apakah informasi cadangan harus diberikan. Jika diatur ke TRUE, informasi akan tersedia.
-
fNextCabCalled
-
Anggota ini menyediakan cara untuk menentukan entri acab mana yang akan digunakan jika kami memproses semua file dalam set kabinet (fAllCabinet diatur ke TRUE).
-
acab
-
Dua entri terakhir dalam set kabinet. Struktur ini didefinisikan sebagai berikut:
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
-
Awalan untuk strip dari nama file.
#define cbFILE_NAME_MAX 256
-
achCabinetFile
-
File kabinet saat ini.
#define cbFILE_NAME_MAX 256
-
cArgv
-
Argc ekstraksi mandiri default.
-
pArgv
-
Penunjuk ke penunjuk ke argv[]ekstraksi mandiri default.
-
fDestructive
-
Bendera yang meminimalkan ruang disk yang diperlukan saat diatur ke TRUE.
-
iCurrentFolder
-
Jika fDestructive diatur ke TRUE, ekstrak hanya folder saat ini.