TNB Library
|
Cab32.dll 管理クラス [詳解]
#include <TnbArchiverDllHandler.h>
公開型 | |
enum | ECommand { EC_Delete , EC_Extract , EC_ExtractDir , EC_Attract } |
コマンドの ID [詳解] | |
公開メンバ関数 | |
CCabDllHandler (void) | |
コンストラクタ [詳解] | |
bool | CheckArchive (LPCSTR lpszArcFile, const int iMode) |
[確認] ファイル形式確認 [詳解] | |
int | CloseArchive (HARC hArc) |
[処理] アーカイブClose. [詳解] | |
int | Command (LPCSTR lpszCmdLine, const DWORD dwOutputSize) |
[処理] コマンド処理. [詳解] | |
int | CompressMem (LPCSTR lpszArcFile, LPCSTR lpszName, time_t time, WORD wAttr, const BYTE *lpBuf, DWORD &_dwSize, LPCSTR lpszOption=NULL) |
[実行] メモリから格納 [詳解] | |
DWORD | ConfigDialog (LPSTR _lpszOptionBuffer=NULL, const int iMode=0) |
[設定] オプション画面 [詳解] | |
int | Execute (ECommand cmd, LPCSTR lpszArcFile, LPCSTR lpszPath, LPCSTR lpszFilter, LPCSTR lpszOption=NULL) |
[実行] コマンド実行 [詳解] | |
int | ExtractMem (LPCSTR lpszArcFile, LPCSTR lpszName, BYTE *_lpBuf, size_t &dwSize, LPCSTR lpszOption=NULL) |
[実行] メモリに抽出 [詳解] | |
template<typename R > | |
R | Func (R &_r, LPCSTR lpszFuncName) |
[実行] DLL関数実行 [詳解] | |
template<typename R , typename T1 > | |
R | Func (R &_r, LPCSTR lpszFuncName, T1 t1) |
[実行] DLL関数実行 [詳解] | |
template<typename R , typename T1 , typename T2 > | |
R | Func (R &_r, LPCSTR lpszFuncName, T1 t1, T2 t2) |
[実行] DLL関数実行 [詳解] | |
template<typename R , typename T1 , typename T2 , typename T3 > | |
R | Func (R &_r, LPCSTR lpszFuncName, T1 t1, T2 t2, T3 t3) |
[実行] DLL関数実行 [詳解] | |
template<typename R , typename T1 , typename T2 , typename T3 , typename T4 > | |
R | Func (R &_r, LPCSTR lpszFuncName, T1 t1, T2 t2, T3 t3, T4 t4) |
[実行] DLL関数実行 [詳解] | |
int | GetFileCount (LPCSTR lpszArcFile) |
[確認] アーカイブ数確認 [詳解] | |
CAscii | GetResultString (void) |
[取得] 結果 [詳解] | |
WORD | GetSubVersion (void) |
[取得] DLLのサブバージョン取得. [詳解] | |
WORD | GetVersion (void) |
[取得] DLLのバージョン取得. [詳解] | |
CStr | GetVersionString (void) |
[取得] DLLのバージョン取得. [詳解] | |
bool | IsReady (void) const |
[確認] DLL準備確認 [詳解] | |
bool | IsRunning (void) |
[確認] 動作中確認 [詳解] | |
virtual CAscii | MakeCommand (ECommand cmd, LPCSTR lpszOption=NULL) |
[作成] コマンド文字列作成 [詳解] | |
virtual CAscii | MakeCommandOption (ECommand cmd) |
[作成] コマンドオプション文字列作成 [詳解] | |
HARC | OpenArchive (LPCSTR lpszArcFile, const DWORD dwMode=0) |
[処理] アーカイブOpen. [詳解] | |
bool | QueryFunctionList (const int iFunction) |
[確認] ファンクションチェック. [詳解] | |
void | SetParent (HWND hWnd) |
[設定] 関連 Windowハンドル [詳解] | |
Cab32.dll 管理クラス
Cab32.dll の Load/Free、関数コールを容易にするためのクラスです。
TnbArchiverDllHandler.h の 814 行目に定義があります。
|
inherited |
コマンドの ID
列挙値 | |
---|---|
EC_Delete | 削除 |
EC_Extract | 抽出 |
EC_ExtractDir | 抽出(Directory付き) |
EC_Attract | 格納 |
TnbArchiverDllHandler.h の 93 行目に定義があります。
CCabDllHandler | ( | void | ) |
コンストラクタ
TnbArchiverDllHandler.h の 820 行目に定義があります。
|
inherited |
[確認] ファイル形式確認
lpszArcFile | チェックすべきアーカイブファイルのファイル名。 |
iMode | アーカイブ種による。省略すると0。 |
true | 正しいアーカイブファイルの時。 |
false | ファイルが不正の時。 |
TnbArchiverDllHandler.h の 346 行目に定義があります。
|
inherited |
[処理] アーカイブClose.
OpenArchive() で割り付けたハンドルを解放する。
hArc | OpenArchive() で返されたハンドル。 |
0 | 成功 |
-1 | 異常時 |
TnbArchiverDllHandler.h の 409 行目に定義があります。
|
inherited |
[処理] コマンド処理.
圧縮・解凍等を行います。
lpszCmdLine | アーカイバdll に渡すコマンド文字列。 |
dwOutputSize | アーカイバdll が結果を返すためのサイズ。 結果の文字列は、 GetResultString() で得られます |
0 | 正常終了 |
0以外 | エラー発生 |
TnbArchiverDllHandler.h の 264 行目に定義があります。
|
inherited |
[実行] メモリから格納
[in] | lpszArcFile | 対象アーカイブ。 |
[in] | lpszName | 格納ファイル名。 |
[in] | time | 格納時間。 |
[in] | wAttr | 格納属性。 |
[in] | lpBuf | 格納内容。 |
[in,out] | _dwSize | lpBuf のサイズ。処理後は圧縮後のサイズが格納されます。 |
[in] | lpszOption | 追加オプション(省略可能)。 |
0 | 正常終了 |
0以外 | エラー発生 |
TnbArchiverDllHandler.h の 523 行目に定義があります。
|
inherited |
[設定] オプション画面
[out] | _lpszOptionBuffer | アーカイブ種によるオプション。省略すると NULL。 |
[in] | iMode | アーカイブ種によるモード。省略すると 0。 |
ERROR_ALREADY_RUNNING | アーカイブdll が既に実行中の時。 |
TRUE | 設定が成功した時。 |
FALSE | 設定が出来なかった(されなかった)時。または取消終了時。 |
TnbArchiverDllHandler.h の 330 行目に定義があります。
|
inherited |
[実行] コマンド実行
cmd | コマンド種。指定できるのは以下の4つです。 EC_Delete 削除 EC_Extract 抽出 EC_ExtractDir 抽出(Directory付き) EC_Attract 格納 |
lpszArcFile | 対象アーカイブ名。 |
lpszPath | 対象パス。 |
lpszFilter | 対象ファイル(ワイルドカード可能)。 |
lpszOption | 追加オプション(省略可能)。 |
0 | 正常終了 |
0以外 | エラー発生 |
TnbArchiverDllHandler.h の 460 行目に定義があります。
|
inherited |
[実行] メモリに抽出
[in] | lpszArcFile | 対象アーカイブファイル名。 |
[in] | lpszName | 対象ファイル。 |
[out] | _lpBuf | 抽出メモリ。 |
[in,out] | dwSize | lpBuf のサイズ。 実行後は抽出したサイズが格納されます。 |
[in] | lpszOption | 追加オプション(省略可能)。 |
0 | 正常終了 |
0以外 | エラー発生 |
TnbArchiverDllHandler.h の 497 行目に定義があります。
|
inherited |
[実行] DLL関数実行
[out] | _r | 戻り値 |
[in] | lpszFuncName | 関数名 |
CTnbException | 指定の関数が使用できない時、スローされます。 |
TnbArchiverDllHandler.h の 151 行目に定義があります。
|
inherited |
[実行] DLL関数実行
[out] | _r | 戻り値 |
[in] | lpszFuncName | 関数名 |
[in] | t1 | 第一引数 |
CTnbException | 指定の関数が使用できない時、スローされます。 |
TnbArchiverDllHandler.h の 167 行目に定義があります。
|
inherited |
[実行] DLL関数実行
[out] | _r | 戻り値 |
[in] | lpszFuncName | 関数名 |
[in] | t1 | 第一引数 |
[in] | t2 | 第二引数 |
CTnbException | 指定の関数が使用できない時、スローされます。 |
TnbArchiverDllHandler.h の 184 行目に定義があります。
|
inherited |
[実行] DLL関数実行
[out] | _r | 戻り値 |
[in] | lpszFuncName | 関数名 |
[in] | t1 | 第一引数 |
[in] | t2 | 第二引数 |
[in] | t3 | 第三引数 |
CTnbException | 指定の関数が使用できない時、スローされます。 |
TnbArchiverDllHandler.h の 202 行目に定義があります。
|
inherited |
[実行] DLL関数実行
[out] | _r | 戻り値 |
[in] | lpszFuncName | 関数名 |
[in] | t1 | 第一引数 |
[in] | t2 | 第二引数 |
[in] | t3 | 第三引数 |
[in] | t4 | 第四引数 |
CTnbException | 指定の関数が使用できない時、スローされます。 |
TnbArchiverDllHandler.h の 221 行目に定義があります。
|
inherited |
[確認] アーカイブ数確認
lpszArcFile | 格納ファイル数を得たい書庫ファイル名。 |
-1 | エラー。 |
0以上 | 格納ファイル数。 |
TnbArchiverDllHandler.h の 360 行目に定義があります。
|
inherited |
|
inherited |
[取得] DLLのサブバージョン取得.
現在のバージョンの下位 2 ワードに 100 を掛けたものが返ってきます。
例) 4.01 -> 401
TnbArchiverDllHandler.h の 291 行目に定義があります。
|
inherited |
[取得] DLLのバージョン取得.
現在のバージョンの上位 2 ワードに 100 を掛けたものが返ってきます。
例) 2.30 -> 230
TnbArchiverDllHandler.h の 277 行目に定義があります。
|
inherited |
[取得] DLLのバージョン取得.
文字列で得ることが出来ます。
例) "4.01.00.01"
TnbArchiverDllHandler.h の 303 行目に定義があります。
|
inherited |
[確認] DLL準備確認
true | 準備OK。 |
false | DLLが見つからなかった。他のメソッドを使用すると throw される可能性があります。 |
TnbArchiverDllHandler.h の 138 行目に定義があります。
|
inherited |
[確認] 動作中確認
true | 実行中です。 |
false | 実行中ではない(実行可能)。 |
TnbArchiverDllHandler.h の 237 行目に定義があります。
[作成] コマンド文字列作成
cmd | コマンド種。 |
lpszOption | 追加オプション(省略可能)。 |
TnbArchiverDllHandler.h の 421 行目に定義があります。
[作成] コマンドオプション文字列作成
cmd | コマンド種。 |
CArchiverDllHandlerを実装しています。
TnbArchiverDllHandler.h の 829 行目に定義があります。
|
inherited |
[処理] アーカイブOpen.
指定ファイルが アーカイバdll に有効な書庫ファイルかどうか調べ、 有効であればオープンし、一意の数値(ハンドル)を返します。 以後の書庫ファイルへのアクセスはこのハンドルでおこないます。 終了の際は、 CloseArchive() で閉じてください。
lpszArcFile | アーカイブファイル名。 |
dwMode | アーカイバ種による。省略すると0。 |
NULL | エラー。 |
NULL以外 | 成功。 |
TnbArchiverDllHandler.h の 395 行目に定義があります。
|
inherited |
[確認] ファンクションチェック.
指定された API が 7-zip32.dll で使用可能かどうかを得ます。 アプリケーション側は目的の機能(API)が有効であるかどうか、 事前にチェックするようにしてください。
iFunction | API を示す一意な数値。 具体的な数値については 7-zip32.h などアーカイバのヘッダを参照して下さい。 |
true | 使用可能。 |
false | 使用出来ない、または iFunction は無効な値。 |
TnbArchiverDllHandler.h の 377 行目に定義があります。
|
inherited |
[設定] 関連 Windowハンドル
hWnd | アーカイバdll を呼び出すアプリのウィンドウハンドル。 ウィンドウが存在しないコンソールアプリの場合や、 指定する必要のない場合は NULL を渡します。 |
TnbArchiverDllHandler.h の 128 行目に定義があります。