STRUCTURE SESSION

[Cette structure contient des informations requises uniquement lors de l’utilisation des fonctions DeleteExtractedFiles et Extract , qui ne sont pas prises en charge. Cette documentation est fournie à titre d’information uniquement.]

La structure 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

agir

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és sur la ligne de commande. Ce type de données est déclaré comme suit :

typedef void *HFILELIST;

fAllCabinets

Indicateur qui indique si plusieurs fichiers d’armoire doivent être traités. Si cette valeur est TRUE, les armoires de continuation sont traitées.

fOverwrite

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

fNoLineFeed

Indicateur qui indique si le dernier printf appel comporte les caractères de nouvelle ligne (\n). Si cette valeur est TRUE, le dernier printf appel n’a pas inclus les caractères de nouvelle ligne.

fSelfExtract

Indicateur qui indique si une armoire est en cours d’extraction automatique. Si cette valeur est TRUE, l’armoire s’extrait automatiquement.

cbSelfExtractSize

Longueur de la partie exécutable (.exe) d’une armoire à extraction automatique.

cbSelfExtractSize

Longueur de la partie CAB d’une armoire à extraction automatique.

ahfSelf

Les descripteurs de fichier sont à l’armoire.

#define cMAX_CAB_FILE_OPEN 2

cErrors

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

hfdi

Handle pour le contexte de l’IED. Ce type de données est déclaré comme suit :

typedef void FAR *HFDI;

Erf

Structure d’erreur IDE. Voir ERF.

cFiles

Nombre de fichiers traités.

cbTotalBytes

Nombre total d’octets extraits.

perr

Le passage par l’IED.

se

Erreur de fichier de déversement. 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éversement demandé.

achSelf

Nom du fichier exécutable (.exe).

#define cbFILE_NAME_MAX 256

achMsg

Mémoire tampon de mise en forme des messages.

#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 d’armoire.

fContinuationCabinet

Indicateur qui indique si l’armoire actuelle est la première traitée. Si la valeur est TRUE, il ne s’agit pas de la première armoire traitée.

fShowReserveInfo

Indicateur qui indique si des informations sur la réserve doivent être fournies. Si la valeur est TRUE, les informations sont mises à disposition.

fNextCabCalled

Ce membre permet de déterminer les entrées acab à utiliser si nous traitons tous les fichiers d’un jeu d’armoires (fAllCabinet a la valeur TRUE).

Acab

Les deux dernières entrées dans l’ensemble d’armoires. 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 d’armoire actuel.

#define cbFILE_NAME_MAX 256

cArgv

Argc auto-extractible par défaut.

pArgv

Pointeur vers un pointeur vers le argv auto-extracteur par défaut[].

fDestructive

Indicateur qui réduit l’espace disque nécessaire lorsqu’il est défini sur TRUE.

iCurrentFolder

Si fDestructive a la valeur TRUE, extrayez uniquement le dossier actif.

Voir aussi

DeleteExtractedFiles

Extract