3 * @brief プラグインで読み込むTPI共通ヘッダ。
\r
6 * @mainpage TPI reference manual
\r
7 * TPIは簡易でマルチプラットフォームなプラグイン仕様です。仕様は現在策定中であるため、今後改訂される可能性があります。
\r
9 /*******************************************************************************
\r
10 TPI - flexible but useless plug-in framework.
\r
11 Copyright (C) 2002-2009 Silky
\r
13 This library is free software; you can redistribute it and/or modify it under
\r
14 the terms of the GNU Lesser General Public License as published by the Free
\r
15 Software Foundation; either version 2.1 of the License, or (at your option)
\r
18 This library is distributed in the hope that it will be useful, but WITHOUT
\r
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
\r
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
\r
23 You should have received a copy of the GNU Lesser General Public License along
\r
24 with this library; if not, write to the Free Software Foundation, Inc.,
\r
25 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
\r
26 *******************************************************************************/
\r
28 #define wxUSE_UNICODE 1
\r
30 #include <wx/filename.h>
\r
32 #ifndef __TPI_API_SPEC
\r
33 #define __TPI_API_SPEC
\r
36 #define __stdcall __attribute__((__stdcall__))
\r
39 // *****************************************************************************
\r
40 /// @defgroup constants 定数
\r
42 // *****************************************************************************
\r
45 * @defgroup c_error エラーコード
\r
46 * 各APIを実行した場合に返される、異常の理由を表す一意の数値。
\r
50 * @defgroup c_error_success 成功値
\r
54 /** 異常が発生せず、正常に処理を終了した。 */
\r
55 #define TPI_ERROR_SUCCESS 1000
\r
56 #define TPI_ERROR_S_ENDOFDATA TPI_ERROR_SUCCESS + 1 /**< データの終端に到達し、得られる項目がなくなった。 */
\r
57 /** @} c_error_success */
\r
60 * @defgroup c_error_undefined 未定義エラー
\r
61 * TPIとしては未定義の、各プラグイン独自のエラーを表す。
\r
65 #define TPI_ERROR_UNDEFINED 2000
\r
66 #define TPI_ERROR_U_LOAD_LIBRARY TPI_ERROR_UNDEFINED + 1 /**< 処理ライブラリの初期化に失敗した。 */
\r
67 #define TPI_ERROR_U_USE_LIBRARY TPI_ERROR_UNDEFINED + 2 /**< 処理ライブラリの使用時に問題が発生した。 */
\r
68 #define TPI_ERROR_U_FREE_LIBRARY TPI_ERROR_UNDEFINED + 3 /**< 処理ライブラリの解放に失敗した。 */
\r
69 /** @} c_error_undefined */
\r
72 * @defgroup c_error_defined 定義済エラー
\r
73 * TPIとして定義されたエラーを表す。
\r
77 #define TPI_ERROR_DEFINED 3000
\r
78 #define TPI_ERROR_D_PARAMETER TPI_ERROR_DEFINED + 1 /**< APIに渡された引数が不正であった。 */
\r
79 #define TPI_ERROR_D_UNSUPPORTED TPI_ERROR_DEFINED + 2 /**< 対応していないAPIである。もしくは、APIの動作のうち対応していないものを実行しようとした。 */
\r
80 #define TPI_ERROR_D_SKIPPED TPI_ERROR_DEFINED + 3 /**< コールバック関数が、APIに処理を中止するよう指示した。 */
\r
81 #define TPI_ERROR_D_OUTOFMEMORY TPI_ERROR_DEFINED + 4 /**< 処理中にメモリが不足し、確保できなくなった。 */
\r
82 #define TPI_ERROR_D_USEMEMORY TPI_ERROR_DEFINED + 5 /**< メモリを使用/解放する際に問題が発生した。 */
\r
85 * @defgroup c_error_defined_io I/Oエラー
\r
86 * 各種I/Oエラーを表す。実際に返される数値は plugin-extra.h に定義されている定数を参照。
\r
88 * @defgroup c_error_defined_io_target I/O対象ファイル
\r
89 * I/Oエラーの対象となったファイルを表す。
\r
92 #define TPI_ERROR_T_IO_MISC 0 /**< 不明 */
\r
93 #define TPI_ERROR_T_IO_ARCHIVE TPI_ERROR_T_IO_MISC + 100 /**< 書庫 */
\r
94 #define TPI_ERROR_T_IO_FILE TPI_ERROR_T_IO_MISC + 200 /**< 通常ファイル */
\r
95 #define TPI_ERROR_T_IO_WORKING TPI_ERROR_T_IO_MISC + 300 /**< 中間ファイル */
\r
96 #define TPI_ERROR_T_IO_DIRECTORY TPI_ERROR_T_IO_MISC + 400 /**< ディレクトリ */
\r
97 /** @} c_error_defined_io_target */
\r
99 #define TPI_ERROR_IO_MISC 4000 /**< その他/不明なI/Oエラー。 */
\r
100 #define TPI_ERROR_IO_NOTFOUND TPI_ERROR_IO_MISC + 1 /**< ファイルが存在しない。 */
\r
101 #define TPI_ERROR_IO_ACCESS TPI_ERROR_IO_MISC + 2 /**< ファイルにアクセスできない。共有違反が発生した。 */
\r
102 #define TPI_ERROR_IO_OPEN TPI_ERROR_IO_MISC + 3 /**< ファイルを開くことに失敗した。 */
\r
103 #define TPI_ERROR_IO_CLOSE TPI_ERROR_IO_MISC + 4 /**< ファイルを閉じることに失敗した。 */
\r
104 #define TPI_ERROR_IO_READ TPI_ERROR_IO_MISC + 5 /**< ファイルからデータを読み込めない。 */
\r
105 #define TPI_ERROR_IO_WRITE TPI_ERROR_IO_MISC + 6 /**< ファイルにデータを書き込めない。 */
\r
106 #define TPI_ERROR_IO_GETINFO TPI_ERROR_IO_MISC + 7 /**< ファイルから各種の情報を取得することに失敗した。 */
\r
107 #define TPI_ERROR_IO_POINT TPI_ERROR_IO_MISC + 8 /**< ファイル内のポインタ移動に失敗した。 */
\r
108 #define TPI_ERROR_IO_COPY TPI_ERROR_IO_MISC + 9 /**< ファイルのコピーに失敗した。 */
\r
109 #define TPI_ERROR_IO_MOVE TPI_ERROR_IO_MISC + 10 /**< ファイルの移動に失敗した。 */
\r
110 #define TPI_ERROR_IO_DELETE TPI_ERROR_IO_MISC + 11 /**< ファイルの削除に失敗した。 */
\r
111 #define TPI_ERROR_IO_SETINFO TPI_ERROR_IO_MISC + 12 /**< ファイルに各種の情報を設定することに失敗した。 */
\r
113 #define TPI_ERROR_ARC_MISC TPI_ERROR_IO_MISC + TPI_ERROR_T_IO_ARCHIVE + 20 /**< 書庫に関するエラーの基本値。 */
\r
114 #define TPI_ERROR_ARC_UNSUPPORTED TPI_ERROR_ARC_MISC + 1 /**< 書庫に対応していない。 */
\r
115 #define TPI_ERROR_ARC_ENCRYPTED TPI_ERROR_ARC_MISC + 2 /**< 書庫が暗号化されている。 */
\r
116 #define TPI_ERROR_ARC_DANGER TPI_ERROR_ARC_MISC + 3 /**< 書庫にセキュリティの問題がある。 */
\r
117 #define TPI_ERROR_ARC_BROKEN_MISC TPI_ERROR_IO_MISC + TPI_ERROR_T_IO_ARCHIVE + 30 /**< 書庫の破損に関するエラーの基本値。 */
\r
118 #define TPI_ERROR_ARC_BROKEN_SUM TPI_ERROR_ARC_BROKEN_MISC + 1 /**< チェックサムが一致しない。 */
\r
119 #define TPI_ERROR_ARC_BROKEN_SIZE TPI_ERROR_ARC_BROKEN_MISC + 2 /**< ファイルサイズが一致しない。 */
\r
120 #define TPI_ERROR_ARC_BROKEN_HEADER TPI_ERROR_ARC_BROKEN_MISC + 3 /**< ヘッダが破損している。 */
\r
121 /** @} c_error_defined_io */
\r
122 /** @} c_error_defined */
\r
126 * @defgroup c_info 情報コード
\r
127 * GetPluginInformation() で、プラグインに関する情報を取得する時に用いる、情報を表す一意の数値。
\r
130 #define TPI_INFO_VERSION_MAJOR 0x0001 /**< プラグインのメジャーバージョン */
\r
131 #define TPI_INFO_VERSION_MINOR 0x0002 /**< プラグインのマイナーバージョン */
\r
132 #define TPI_INFO_VERSION_API 0x0003 /**< プラグインが対応するAPIのバージョン */
\r
136 * @defgroup c_command コマンドコード
\r
137 * Command() で処理する内容を指定する一意の数値。
\r
140 #define TPI_COMMAND_ADD 0x0001 /**< 書庫にファイルを格納する */
\r
141 #define TPI_COMMAND_EXTRACT 0x0002 /**< 書庫からファイルを展開する */
\r
142 #define TPI_COMMAND_DELETE 0x0004 /**< 書庫からファイルを削除する */
\r
143 #define TPI_COMMAND_UPDATE 0x0008 /**< 書庫のファイルを更新する */
\r
144 #define TPI_COMMAND_TEST 0x0010 /**< 書庫のファイルを検査する */
\r
145 #define TPI_COMMAND_REPAIR 0x0020 /**< 書庫のファイルを修復する */
\r
146 #define TPI_COMMAND_MOVE 0x0040 /**< 書庫のファイルを移動する */
\r
147 #define TPI_COMMAND_SFX 0x0080 /**< 書庫をSFXに変換する */
\r
148 #define TPI_COMMAND_UNSFX 0x0100 /**< 書庫をSFXから通常の書庫に変換する */
\r
149 /** @} c_command */
\r
152 * @defgroup c_process 処理コード
\r
153 * コールバック関数にて対象となる処理を通知する一意の数値。
\r
157 /** 共通メッセージ。通常の処理に対して送信される。 */
\r
158 /** @sa c_process_common */
\r
159 #define TPI_NOTIFY_COMMON 0x0001
\r
160 #define TPI_NOTIFY_SETPARAM 0x0002 /**< パラメータ設定。任意のパラメータが要求する場合に送信される。 */
\r
161 /** @} c_process */
\r
164 * @defgroup c_process_common イベントコード
\r
165 * TPI_NOTIFY_COMMON 送信時に、TPI_PROCESSINFO 構造体の uMessage に格納される値。
\r
166 * @sa TPI_NOTIFY_COMMON
\r
167 * @sa TPI_PROCESSINFO::uMessage
\r
170 /** 進捗状況についての情報を TPI_PROCESSINFO に格納。 */
\r
171 /** @sa c_process_common_status */
\r
172 /** @sa TPI_PROCESSINFO */
\r
173 #define TPI_MESSAGE_STATUS 0x0001
\r
174 #define TPI_MESSAGE_ASK 0x0002 /**< 何らかのパラメータが要求された。 */
\r
175 /** 処理中に続行不可能なエラーが発生した。 */
\r
177 #define TPI_MESSAGE_ERROR 0x1000
\r
178 #define TPI_MESSAGE_WARNING 0x1001 /**< 処理中に続行可能な警告が発生した。 */
\r
179 /** @} c_process_common */
\r
182 * @defgroup c_process_common_status 進捗状況コード
\r
183 * TPI_MESSAGE_STATUS が送信された時に、TPI_PROCESSINFO 構造体の uStatus に格納される値。
\r
184 * @sa TPI_MESSAGE_STATUS
\r
185 * @sa TPI_PROCESSINFO::uStatus
\r
188 #define TPI_STATUS_OPENARCHIVE 0x0001 /**< 書庫を開いた。 */
\r
189 #define TPI_STATUS_CLOSEARCHIVE 0x0002 /**< 書庫を閉じた。 */
\r
190 #define TPI_STATUS_SEEKFILE 0x0003 /**< 対象ファイルを検索している。 */
\r
191 #define TPI_STATUS_BEGINPROCESS 0x0004 /**< 処理を開始した。 */
\r
192 #define TPI_STATUS_INPROCESS 0x0005 /**< 処理中である。 */
\r
193 #define TPI_STATUS_ENDPROCESS 0x0006 /**< 処理を終了した。 */
\r
194 #define TPI_STATUS_TESTARCHIVE 0x0007 /**< 書庫を検査中。 */
\r
195 #define TPI_STATUS_COPYARCHIVE 0x0008 /**< 書庫を移動/複製中。 */
\r
196 /** @} c_process_common_status */
\r
199 * @defgroup c_process_common_param パラメータコード
\r
200 * TPI_MESSAGE_ASK が送信された時に、TPI_PROCESSINFO 構造体の uStatus に格納される値で、要求されているパラメータを示す値。
\r
201 * @sa TPI_MESSAGE_STATUS
\r
202 * @sa TPI_PROCESSINFO::uStatus
\r
205 #define TPI_PARAM_PASSWORD 0x0001 /**< パスワード。 */
\r
206 #define TPI_PARAM_NEXTVOLUME 0x0002 /**< 分割書庫の次の部分。 */
\r
207 /** @} c_process_common_param */
\r
210 * @defgroup c_callback_return コールバック関数の返し値
\r
211 * コールバック関数の終了時に、返し値として指定し、処理の続行について指示する値。
\r
215 #define TPI_CALLBACK_CONTINUE TRUE /**< 処理を続行する。 */
\r
216 #define TPI_CALLBACK_CANCEL 0x1000 /**< 処理を中断する。 */
\r
217 #define TPI_CALLBACK_SKIP 0x1001 /**< 現在の処理を行わず、次の処理を行う。 */
\r
218 #define TPI_CALLBACK_UNSUPPORTED 0x1002 /**< 処理を無視した。不明な処理である。 */
\r
219 /** @} c_callback_return */
\r
222 * @defgroup c_file_attribute ファイル属性コード
\r
223 * TPI_FILEINFO 構造体の dwAttribute に格納される、ファイルの属性を表す値。
\r
224 * @sa TPI_FILEINFO::dwAttribute
\r
227 #define TPI_ATTRIBUTE_READONLY 0x00000001 /**< 読み取り専用。 */
\r
228 #define TPI_ATTRIBUTE_HIDDEN 0x00000002 /**< 隠しファイル。 */
\r
229 #define TPI_ATTRIBUTE_SYSTEM 0x00000004 /**< システムファイル。 */
\r
230 #define TPI_ATTRIBUTE_DIRECTORY 0x00000010 /**< ディレクトリ。 */
\r
231 #define TPI_ATTRIBUTE_ARCHIVE 0x00000020 /**< アーカイブ。 */
\r
232 #define TPI_ATTRIBUTE_ENCRYPTED 0x00004000 /**< 暗号化ファイル。 */
\r
233 /** @} c_file_attribute */
\r
236 // *****************************************************************************
\r
237 /// @defgroup structures 構造体
\r
239 // *****************************************************************************
\r
242 /** 対応形式についての情報を格納する構造体。 */
\r
243 typedef struct _TPI_tagFORMATINFO
\r
245 bool fArchive; /**< 複数ファイル格納対応ならtrue */
\r
246 bool fComment; /**< コメント付加対応ならtrue */
\r
247 bool fEncryptKeyFile; /**< キーファイルによるデータ暗号化に対応しているならtrue */
\r
248 bool fEncryptPassword; /**< パスワードによるデータ暗号化に対応しているならtrue */
\r
249 bool fEncryptHeader; /**< ヘッダ暗号化に対応しているならtrue */
\r
250 bool fMMOptimize; /**< マルチメディアファイル最適化対応ならtrue */
\r
251 bool fMultiVolume; /**< 分割圧縮対応ならtrue */
\r
252 bool fSFX; /**< SFX作成対応ならtrue */
\r
253 bool fSolid; /**< Solid圧縮対応ならtrue */
\r
254 short sCompressLevelMin; /**< 圧縮レベルの最小値 */
\r
255 short sCompressLevelMax; /**< 圧縮レベルの最大値 */
\r
256 short sRecoveryRecordMin; /**< リカバリーレコードの最小値 */
\r
257 short sRecoveryRecordMax; /**< リカバリーレコードの最大値 */
\r
258 wxString szTypeName; /**< 形式名 */
\r
259 wxString szSuffix; /**< 拡張子。複数ある場合は;で区切る */
\r
260 wxString szEngineName; /**< 内部エンジン名 */
\r
261 wxString szTPIName; /**< TPI名 */
\r
262 wxULongLong_t llSupportedCommand; /**< 実装されているコマンドのフラグ */
\r
263 wxULongLong llTypeId; /**< 一意の形式ID */
\r
264 void * pCustomInfo; /**< 任意の情報を格納 */
\r
267 /** 特定ファイルについての情報を格納する構造体。 */
\r
268 typedef struct _TPI_tagFILEINFO
\r
271 /** @sa c_file_attribute */
\r
272 unsigned long dwAttribute;
\r
273 unsigned long dwCRC32; /**< CRC32 */
\r
274 wxDateTime tmAccess; /**< 最終参照日時 */
\r
275 wxDateTime tmCreate; /**< 作成日時 */
\r
276 wxDateTime tmModified; /**< 最終更新日時 */
\r
277 unsigned int uDanger; /**< セキュリティ警告 */
\r
278 unsigned int uOSType; /**< 作成元OS */
\r
279 wxULongLong llPackedSize; /**< 格納後のサイズ */
\r
280 wxULongLong llUnpackedSize; /**< 格納前のサイズ */
\r
281 wxFileName fnFileName; /**< ファイル名 */
\r
282 wxString szStoredName; /**< 格納された名前 */
\r
283 wxString szMethod; /**< 格納メソッド */
\r
284 wxString szComment; /**< コメント */
\r
285 unsigned short wCompressRatio; /**< 圧縮率 */
\r
286 wxULongLong llFileID; /**< 一意のファイルID */
\r
287 void * pCustomInfo; /**< 任意の情報を格納 */
\r
290 /** 書庫についての情報を格納する構造体。 */
\r
291 typedef struct _TPI_tagARCHIVEINFO
\r
293 bool fSolid; /**< Solid圧縮されているならtrue */
\r
294 bool fMMOptimize; /**< マルチメディアファイルに最適化されているならtrue */
\r
295 bool fEncryptData; /**< データが暗号化されているならtrue */
\r
296 bool fEncryptHeader; /**< ヘッダが暗号化されているならtrue */
\r
297 short sCompressLevel; /**< 圧縮レベル(0-9) */
\r
298 short sRecoveryRecord; /**< リカバリーレコード(0-100) */
\r
299 wxDateTime tmAccess; /**< 最終参照日時 */
\r
300 wxDateTime tmCreate; /**< 作成日時 */
\r
301 wxDateTime tmModified; /**< 最終更新日時 */
\r
302 int nSFXType; /**< SFXの種類を表す一意の値 */
\r
303 unsigned int uOSType; /**< 作成元OS */
\r
304 wxULongLong llFileSize; /**< ファイルサイズ */
\r
305 wxULongLong llPackedSize; /**< 格納後のサイズ */
\r
306 wxULongLong llReadSize; /**< 読み込み済みサイズ */
\r
307 wxULongLong llUnpackedSize; /**< 格納前のサイズ */
\r
308 wxULongLong llSplitSize; /**< 分割サイズ */
\r
309 wxFileName fnArchive; /**< ファイル名 */
\r
310 wxString szComment; /**< コメント */
\r
311 unsigned short wCompressRatio; /**< 圧縮率 */
\r
312 TPI_FORMATINFO fiInfo; /**< 形式に関する情報を格納 */
\r
313 void * pCustomInfo; /**< 任意の情報を格納 */
\r
316 /** 処理についての基本情報を格納する構造体。 */
\r
317 typedef struct _TPI_tagSWITCHES
\r
319 bool fStoreDirectoryPathes; /**< パス情報を格納するならtrue */
\r
320 bool fMakeSFX; /**< SFXを作成するならtrue */
\r
321 bool fSolid; /**< Solid圧縮をするならtrue */
\r
322 bool fMMOptimize; /**< マルチメディアファイルに最適化するならtrue */
\r
323 bool fEncryptHeader; /**< ヘッダを暗号化するならtrue */
\r
324 wxFileName fnDestinationDirectory; /**< 出力先ディレクトリ */
\r
325 short sCompressLevel; /**< 圧縮レベル(0-9) */
\r
326 short sRecoveryRecord; /**< リカバリーレコード(0-100) */
\r
327 wxULongLong llSplitSize; /**< 分割サイズ(0のときは分割しない) */
\r
328 wxString szPassword; /**< パスワード */
\r
329 wxString szKeyFile; /**< キーファイル */
\r
330 wxString szComment; /**< コメント */
\r
331 int eArchiveType; /**< 書庫形式を表す一意の数値 */
\r
332 void * pCustomSwitches; /**< 任意の情報を格納 */
\r
335 /** 処理についての通知情報を格納する構造体。 */
\r
336 typedef struct _TPI_tagPROCESSINFO
\r
339 /** @sa c_process_common */
\r
340 unsigned int uMessage;
\r
342 /** @sa c_process_common_status */
\r
343 unsigned int uStatus;
\r
344 TPI_FILEINFO fiInfo; /**< 処理中のファイルに関する情報 */
\r
345 wxULongLong llProcessedSize; /**< 処理済サイズ */
\r
346 wxFileName fnDestination; /**< 出力先ファイル */
\r
347 wxString szParam; /**< パラメータを格納 */
\r
348 void * pCustomInfo; /**< 任意の情報を格納 */
\r
353 // *****************************************************************************
\r
354 /// @defgroup callback コールバック関数
\r
356 // *****************************************************************************
\r
359 * @param _uMsg 処理コード。
\r
360 * @param _pInfo 処理コードにより異なる。
\r
361 * @return コールバック関数の返し値。
\r
363 * @sa c_callback_return
\r
365 typedef int(__stdcall * TPI_PROC)(unsigned int _uMsg, void * _pInfo);
\r
371 // *****************************************************************************
\r
372 /// @defgroup functions API
\r
374 // *****************************************************************************
\r
381 /** プラグインに関する情報を取得。
\r
382 * @param _uInfoId 取得する情報を示す数値(情報コード)。
\r
383 * @param _llSubOption 情報コードにより異なる。
\r
384 * @param _pPtr 結果を格納するバッファへのポインタ。
\r
388 int __stdcall GetPluginInformation
\r
390 unsigned int _uInfoId,
\r
391 wxULongLong _llSubOption,
\r
396 * @param _fiInfo 取得した情報を格納するためのポインタ。
\r
397 * @param _bFirst 最初の形式から情報を取得する場合にはtrue。
\r
398 * @return エラーコード。得られる情報がなくなった場合はTPI_ERROR_S_ENDOFDATAが返される。
\r
401 int __stdcall GetFormatInformation
\r
403 TPI_FORMATINFO * _fiInfo,
\r
407 /** プラグインを使用するための初期化を行う。
\r
408 * @param _szArcName これから操作する対象となる書庫名。不明な場合はNULLを指定。
\r
409 * @param _llSubOption 書庫を作成する場合には、その格納形式IDを指定。それ以外の場合は0。
\r
412 int __stdcall LoadPlugin
\r
414 const wxString & _szArcName,
\r
415 wxULongLong _llSubOption
\r
419 * @param _pReserved 予約済み。現状では常にNULL。
\r
422 int __stdcall FreePlugin
\r
427 /** プラグインが対応しているファイルかどうか確認する。
\r
428 * @param _szArcName 確認する対象となる書庫名。
\r
429 * @param _nFileCount 書庫に格納されているファイル数を格納するためのポインタ。情報が不要ならばNULLを指定。
\r
432 int __stdcall CheckArchive
\r
434 const wxString & _szArcName,
\r
439 * @param _szArcName 操作する対象となる書庫名。
\r
440 * @param _hArchive 取得したハンドルを格納するためのポインタ。
\r
443 int __stdcall OpenArchive
\r
445 const wxString & _szArcName,
\r
450 * @param _hArchive 操作する対象となる書庫ハンドル。
\r
453 int __stdcall CloseArchive
\r
458 /** 書庫に格納されているファイルの情報を順に取得する。
\r
459 * @param _hArchive 操作する対象となる書庫ハンドル。
\r
460 * @param _fiInfo 取得した情報を格納するためのポインタ。
\r
461 * @param _bFirst 最初のファイルから情報を取得する場合にはtrue。
\r
462 * @return エラーコード。得られる情報がなくなった場合はTPI_ERROR_S_ENDOFDATAが返される。
\r
464 int __stdcall GetFileInformation
\r
467 TPI_FILEINFO * _fiInfo,
\r
472 * @param _hArchive 操作する対象となる書庫ハンドル。
\r
473 * @param _aiInfo 取得した情報を格納するためのポインタ。
\r
476 int __stdcall GetArchiveInformation
\r
479 TPI_ARCHIVEINFO * _aiInfo
\r
483 * @param _uCommand 書庫操作の種類を表すコマンドコード。
\r
484 * @param _swInfo 書庫操作に必要な情報を格納した構造体へのポインタ。
\r
485 * @param _szArcName 操作する対象となる書庫名。
\r
486 * @param _szFiles 対象ファイル名のリスト。
\r
490 int __stdcall Command
\r
492 unsigned int _uCommand,
\r
493 TPI_SWITCHES * _swInfo,
\r
494 const wxString & _szArcName,
\r
495 const wxArrayString & _szFiles
\r
498 /** Command() 実行中に処理の進捗状況を送信するコールバック関数を指定する。
\r
499 * @param _prArcProc コールバック関数へのポインタ。
\r
502 int __stdcall SetCallbackProc
\r
504 TPI_PROC _prArcProc
\r
513 #endif /* __TPI_API_SPEC */
\r