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.
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;
-
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 dernierprintf
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.