Structure de SESSION

[Cette structure contient des informations requises uniquement lorsque vous utilisez les fonctions DeleteExtractedFiles et extract , qui ne sont pas prises en charge. Cette documentation est fournie à titre d’information uniquement.]

La structure de la session contient des informations sur la session active.

Syntaxe

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;

Membres

répondre

l’action à effectuer. Ce membre peut être l’une des valeurs du type énuméré suivant.

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

Handle d’une liste de fichiers spécifiée sur la ligne de commande. Ce type de données est déclaré comme suit :

typedef void *HFILELIST;

fAllCabinets

Indicateur qui signale si plusieurs fichiers CAB doivent être traités. Si cette valeur est true, les armoires de continuation sont traitées.

fOverwrite

Indicateur qui signale si les fichiers existants doivent être remplacés. Si cette valeur est true, les fichiers existants sont remplacés.

fNoLineFeed

Indicateur qui signale si le dernier printf appel a les caractères de saut de ligne ( \n ). Si cette valeur est true, le dernier printf appel n’a pas inclus les caractères de saut de ligne.

fSelfExtract

Indicateur qui indique si un fichier cab est auto-extractible. Si cette valeur est true, l’armoire est auto-extractible.

cbSelfExtractSize

La longueur de la partie exécutable (.exe) d’un fichier cab à extraction automatique.

cbSelfExtractSize

Longueur de la partie du fichier CAB d’un fichier cab à extraction automatique.

ahfSelf

Descripteurs de fichiers dans le fichier CAB.

#define cMAX_CAB_FILE_OPEN 2

cErrors

Nombre d’erreurs rencontrées pendant la session d’extraction.

hfdi

Handle vers le contexte FDI. Ce type de données est déclaré comme suit :

typedef void FAR *HFDI;

ERF

Structure d’erreur FDI. Consultez ERF.

cFiles

Nombre de fichiers traités.

cbTotalBytes

Nombre total d’octets extraits.

perr

L’étape FDI.

ateliers

Erreur du fichier de débordement. Ce membre peut être l’une des valeurs du type énuméré suivant.

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

Taille du fichier de débordement demandé.

achSelf

Nom du fichier exécutable (.exe).

#define cbFILE_NAME_MAX 256

achMsg

Mémoire tampon de mise en forme du message.

#define cbMAX_LINE 256

achLine

Mémoire tampon de mise en forme de ligne.

achLocation

Répertoire de sortie.

achFile

Nom de fichier actuel en cours d’extraction.

achDest

Nom du fichier de destination forcé.

achCabPath

Chemin d’accès à examiner pour un fichier CAB.

fContinuationCabinet

Indicateur qui signale si le fichier CAB actuel est le premier traité. Si la valeur est true, le premier fichier CAB n’est pas traité.

fShowReserveInfo

Indicateur qui spécifie si les informations de réserve doivent être fournies. Si la valeur est true, les informations sont rendues disponibles.

fNextCabCalled

Ce membre fournit un moyen de déterminer les entrées ACAB à utiliser si nous traitons tous les fichiers d’un jeu de fichiers CAB (fAllCabinet a la valeur true).

acab

Les deux dernières entrées dans le jeu de fichiers CAB. Cette structure est définie comme suit :

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

Préfixe à supprimer du nom de fichier.

#define cbFILE_NAME_MAX 256

achCabinetFile

Fichier CAB actuel.

#define cbFILE_NAME_MAX 256

cArgv

Argc à extraction automatique par défaut.

pArgv

Pointeur vers un pointeur vers le argv à extraction automatique par défaut [ ] .

fDestructive

Indicateur qui réduit l’espace disque nécessaire lorsque la propriété a la valeur true.

iCurrentFolder

Si fDestructive a la valeur true, extraire uniquement le dossier actif.

Voir aussi

DeleteExtractedFiles

Extract