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.

Sintaks

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;

Anggota

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 terakhir printf 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.

Lihat juga

DeleteExtractedFiles

Ekstrak