SESSION 構造体
[この構造体には、 サポートされていない DeleteExtractedFiles 関数と Extract 関数を使用する場合にのみ必要な情報が含まれています。 このドキュメントは情報提供のみを目的として提供されています。
SESSION 構造体には、現在のセッションに関する情報が含まれています。
構文
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;
メンバー
-
行為
-
実行するアクション。 このメンバーには、次の列挙型の値のいずれかを指定できます。
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
-
コマンド ラインで指定されたファイルの一覧へのハンドル。 このデータ型は次のように宣言されています。
typedef void *HFILELIST;
-
fAllCabinets
-
複数のキャビネット ファイルを処理する必要があるかどうかを示すフラグ。 この値が TRUE の場合、継続キャビネットが処理されます。
-
fOverwrite
-
既存のファイルを上書きするかどうかを示すフラグ。 この値が TRUE の場合、既存のファイルは上書きされます。
-
fNoLineFeed
-
最後
printf
の呼び出しに改行 (\n
) 文字があるかどうかを示すフラグ。 この値が TRUE の場合、最後printf
の呼び出しには改行文字は含まれませんでした。 -
fSelfExtract
-
キャビネットが自己解凍しているかどうかを示すフラグ。 この値が TRUE の場合、キャビネットは自己抽出されます。
-
cbSelfExtractSize
-
自己解凍キャビネットの実行可能ファイル (.exe) 部分の長さ。
-
cbSelfExtractSize
-
自己解凍キャビネットの CAB 部分の長さ。
-
ahfSelf
-
キャビネットへのファイル ハンドル。
#define cMAX_CAB_FILE_OPEN 2
-
cErrors
-
抽出セッション中に発生したエラーの数。
-
hfdi
-
FDI コンテキストへのハンドル。 このデータ型は次のように宣言されています。
typedef void FAR *HFDI;
-
erf
-
FDI エラー構造。 ERF を参照してください。
-
cFiles
-
処理されたファイルの数。
-
cbTotalBytes
-
抽出された合計バイト数。
-
perr
-
FDI を通過する 。
-
Se
-
スピル ファイル エラー。 このメンバーには、次の列挙型の値のいずれかを指定できます。
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
-
要求されたスピル ファイルのサイズ。
-
achSelf
-
実行可能ファイル (.exe) の名前。
#define cbFILE_NAME_MAX 256
-
achMsg
-
メッセージ書式設定バッファー。
#define cbMAX_LINE 256
-
achLine
-
行書式バッファー。
-
achLocation
-
出力ディレクトリ。
-
achFile
-
抽出されている現在のファイル名。
-
achDest
-
強制変換先ファイル名。
-
achCabPath
-
キャビネット ファイルを検索するパス。
-
fContinuationCabinet
-
現在のキャビネットが最初に処理されたキャビネットかどうかを示すフラグ。 TRUE に設定すると、最初に処理されたキャビネットではありません。
-
fShowReserveInfo
-
予約情報を指定するかどうかを示すフラグ。 TRUE に設定すると、情報が使用可能になります。
-
fNextCabCalled
-
このメンバーは、キャビネット セット内のすべてのファイルを処理する場合に使用する acab エントリを決定する方法を提供します (fAllCabinet が TRUE に設定されています)。
-
acab
-
キャビネット セット内の最後の 2 つのエントリ。 この構造体は次のように定義されます。
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
-
ファイル名から削除するプレフィックス。
#define cbFILE_NAME_MAX 256
-
achCabinetFile
-
現在のキャビネット ファイル。
#define cbFILE_NAME_MAX 256
-
cArgv
-
既定の自己抽出 argc。
-
pArgv
-
既定の自己解凍型 argv[] へのポインターへのポインター。
-
fDestructive
-
TRUE に設定した場合に必要なディスク領域を最小限に抑えるフラグ。
-
iCurrentFolder
-
fDestructive が TRUE に設定されている場合は、現在のフォルダーのみを抽出します。
関連項目