# API

## 関数
int __stdcall | GetPluginInformation (unsigned int _eInfoId, wxULongLong_t _nSubOption, void *_pPtr)
int __stdcall | GetFormatInformation (TPI_FORMATINFO *_fiInfo, bool _bFirst)
int __stdcall | LoadPlugin (const wxString &_szArcName, wxULongLong_t _nTypeId)
int __stdcall | FreePlugin (void *_pReserved)
int __stdcall | CheckArchive (const wxString &_szArcName, wxULongLong_t *_nFileCount)
int __stdcall | OpenArchive (const wxString &_szArcName, void **_hArchive)
int __stdcall | CloseArchive (void *_hArchive)
int __stdcall | GetFileInformation (void *_hArchive, TPI_FILEINFO *_fiInfo, bool _bFirst)
int __stdcall | GetArchiveInformation (void *_hArchive, TPI_ARCHIVEINFO *_aiInfo)
int __stdcall | Command (wxULongLong_t _eCommand, TPI_SWITCHES *_swInfo, const wxString &_szArcName, const wxArrayString &_szFiles)
int __stdcall | SetCallbackProc (TPI_PROC _prArcProc)

## 関数

int __stdcall CheckArchive | ( | const wxString & | _szArcName,
|  | wxULongLong_t * | _nFileCount |
| ) |  |  |

プラグインが対応しているファイルかどうか確認する。

引数:

  | _szArcName | 確認する対象となる書庫名。
  | _nFileCount | 書庫に格納されているファイル数を格納するためのポインタ。情報が不要ならばNULLを指定。

戻り値:
  エラーコード。

int __stdcall CloseArchive | ( | void * | _hArchive | ) |

書庫のハンドルを解放する。

引数:

  | _hArchive | 操作する対象となる書庫ハンドル。

戻り値:
  エラーコード。

int __stdcall Command | ( | wxULongLong_t | _eCommand,
|  | TPI_SWITCHES * | _swInfo,
|  | const wxString & | _szArcName,
|  | const wxArrayString & | _szFiles |
| ) |  |  |

各種の書庫操作を行う。

引数:

  | _eCommand | 書庫操作の種類を表すコマンドコード。
  | _swInfo | 書庫操作に必要な情報を格納した構造体へのポインタ。
  | _szArcName | 操作する対象となる書庫名。
  | _szFiles | 対象ファイル名のリスト。

戻り値:
  エラーコード。

参照:
  コマンドコード

int __stdcall FreePlugin | ( | void * | _pReserved | ) |

プラグインを解放する。

引数:

  | _pReserved | 予約済み。現状では常にNULL。

戻り値:
  エラーコード。

int __stdcall GetArchiveInformation | ( | void * | _hArchive,
|  | TPI_ARCHIVEINFO * | _aiInfo |
| ) |  |  |

書庫の情報を取得する。

引数:

  | _hArchive | 操作する対象となる書庫ハンドル。
  | _aiInfo | 取得した情報を格納するためのポインタ。

戻り値:
  エラーコード。

int __stdcall GetFileInformation | ( | void * | _hArchive,
|  | TPI_FILEINFO * | _fiInfo,
|  | bool | _bFirst |
| ) |  |  |

書庫に格納されているファイルの情報を順に取得する。

引数:

  | _hArchive | 操作する対象となる書庫ハンドル。
  | _fiInfo | 取得した情報を格納するためのポインタ。
  | _bFirst | 最初のファイルから情報を取得する場合にはtrue。

戻り値:
  エラーコード。得られる情報がなくなった場合はTPI_ERROR_S_ENDOFDATAが返される。

int __stdcall GetFormatInformation | ( | TPI_FORMATINFO * | _fiInfo,
|  | bool | _bFirst |
| ) |  |  |

対応形式に関する情報を取得。

引数:

  | _fiInfo | 取得した情報を格納するためのポインタ。
  | _bFirst | 最初の形式から情報を取得する場合にはtrue。

戻り値:
  エラーコード。得られる情報がなくなった場合はTPI_ERROR_S_ENDOFDATAが返される。

参照:
  情報コード

int __stdcall GetPluginInformation | ( | unsigned int | _eInfoId,
|  | wxULongLong_t | _nSubOption,
|  | void * | _pPtr |
| ) |  |  |

プラグインに関する情報を取得。

引数:

  | _eInfoId | 取得する情報を示す数値(情報コード)。
  | _nSubOption | 情報コードにより異なる。
  | _pPtr | 結果を格納するバッファへのポインタ。

戻り値:
  エラーコード。

参照:
  情報コード

int __stdcall LoadPlugin | ( | const wxString & | _szArcName,
|  | wxULongLong_t | _nTypeId |
| ) |  |  |

プラグインを使用するための初期化を行う。

引数:

  | _szArcName | これから操作する対象となる書庫名。不明な場合はNULLを指定。
  | _nTypeId | 書庫を作成する場合には、その格納形式IDを指定。それ以外の場合は0。

戻り値:
  エラーコード。

int __stdcall OpenArchive | ( | const wxString & | _szArcName,
|  | void ** | _hArchive |
| ) |  |  |

書庫のハンドルを取得する。

引数:

  | _szArcName | 操作する対象となる書庫名。
  | _hArchive | 取得したハンドルを格納するためのポインタ。

戻り値:
  エラーコード。

int __stdcall SetCallbackProc | ( | TPI_PROC | _prArcProc | ) |

Command() 実行中に処理の進捗状況を送信するコールバック関数を指定する。

引数:

  | _prArcProc | コールバック関数へのポインタ。

戻り値:
  エラーコード。