home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1999 October / VPR9910A.BIN / OLS / unrar32005 / unrar32005.lzh / UNRAR32.API next >
Text File  |  1998-04-03  |  35KB  |  1,083 lines

  1. =====================================================================
  2.                UNRAR32.DLL Ver 0.05 API 説明ファイル
  3. =======================================================================
  4. -----------------------------------------------------------------------
  5. int WINAPI Unrar(const HWND hWnd,LPCSTR szCmdLine,LPSTR szOutput,
  6.          const DWORD dwSize);
  7. -----------------------------------------------------------------------
  8.  
  9. 順序数    1
  10. 機能
  11.     解凍を行います。
  12.  
  13. 引数
  14.     hWnd        UNRAR32.DLL を呼び出すアプリのウィンドウ・ハンドル。
  15.             UNRAR32.DLL は実行時にこのウィンドウに対して EnableWin-
  16.             dow() を実行しウィンドウの動作を抑制します。ウィンドウ
  17.             が存在しないコンソールアプリの場合や,指定する必要のな
  18.             い場合は NULL を渡します。
  19.     szCmdLine   UNRAR32.DLL に渡すコマンド文字列。
  20.     szOutput    UNRAR32.DLL が結果を返すためのバッファ。グローバルメモリー
  21.             等の場合はロックされている必要があります。
  22.     dwSize      バッファのサイズ。結果が指定サイズを越える場合は、この
  23.             サイズに切り詰められます。
  24.                     サイズが 1 以上であれば、常に最後に NUL 文字が付加されます。
  25.  
  26. 戻り値
  27.   正常終了の時        0。
  28.   エラーが発生した場合    0 以外の数(エラー値 >= 0x8000:後述)。
  29.             また,解凍先に既にファイルがあるなどの理由で解凍をスキップ
  30.             した場合などはスキップされたファイルの数を返します。
  31.  
  32. -----------------------------------------------------------------------
  33. BOOL WINAPI UnrarCheckArchive(LPCSTR szFileName,const int iMode);
  34. -----------------------------------------------------------------------
  35. 順序数    12
  36. 機能
  37.     指定ファイルがサポートしているアーカイブファイルとして正しいかどうかを
  38.     返します。
  39.  
  40. 引数
  41.     szFileName    チェックすべきアーカイブファイルのファイル名。
  42.     iMode        チェックモード。
  43.       CHECKARCHIVE_RAPID(0)    簡易モード。ヘッダのみチェックします。
  44.       CHECKARCHIVE_BASIC(1)    簡易モード。0 の場合と違ってこちらは完全な
  45.                 ヘッダチェックをおこないます。
  46.       CHECKARCHIVE_FULLCRC    厳密モード。格納ファイルの CRC 等もチェック
  47.         (2)        する。
  48.  
  49. 戻り値
  50.     TRUE        正しいアーカイブファイルの時。
  51.     FALSE        ファイルが不正の時。
  52.  
  53. -----------------------------------------------------------------------
  54. BOOL WINAPI UnrarConfigDialog(const HWND hWnd,LPSTR szOptionBuffer,
  55.             const int iMode);
  56. -----------------------------------------------------------------------
  57. 順序数    11
  58. 機能
  59.     解凍のオプション指定ダイアログの表示。Unrar() に渡すコマンドの
  60.     オプションを対話的に設定する必要がある時に呼び出してください。
  61. 引数
  62.     hWnd        UNRAR32.DLL を呼び出すアプリのウィンドウ・ハンドル。
  63.     szOptionBuffer    ダイアログで設定したコマンドラインを格納します。
  64.             また、呼び出し時にパラメータを設定すればダイアログの
  65.             初期値となります。
  66.             必ず513バイト以上の大きさを用意してください。
  67.     iMode        圧縮/解凍のどちらに関する設定かの指定。
  68.       UNPACK_CONFIG_MODE(1)    解凍(復元)系のコマンド
  69.  
  70. 戻り値
  71.     ERROR_ALREADY_RUNNING    UNRAR32.DLL が既に実行中の時。
  72.     TRUE            設定が成功した時。
  73.     FALSE            設定が出来なかった(されなかった)時
  74.                 または取消終了時。
  75.  
  76. その他
  77.     現在未実装です。
  78.  
  79. -----------------------------------------------------------------------
  80. WORD WINAPI UnrarGetVersion(VOID);
  81. -----------------------------------------------------------------------
  82. 順序数    2
  83. 機能
  84.     UNRAR32.DLL の現在のバージョンを返します。
  85.  
  86. 戻り値
  87.     現在のバージョン     30 -> Version 0.30
  88.                 100 -> Version 1.00
  89.  
  90. その他
  91.     仕様変更などがあるかもしれませんので、かならずバージョンのチェック
  92.     をおこなってください。
  93.  
  94. -----------------------------------------------------------------------
  95. BOOL WINAPI UnrarGetRunning(VOID);
  96. -----------------------------------------------------------------------
  97. 順序数    10
  98. 機能
  99.     現在 UNRAR32.DLL が動作中か否かを得ます。
  100.     アプリケーション側は必ず圧縮/解凍等のファイルアクセスを伴うAPI
  101.     を実行する前には、これにより実行可能かをチェックする必要があります。
  102.  
  103. 戻り値
  104.     TRUE        実行中です。
  105.     FALSE        実行中ではない(実行可能)。
  106.  
  107. -----------------------------------------------------------------------
  108. BOOL WINAPI UnrarGetBackGroundMode(VOID);
  109. -----------------------------------------------------------------------
  110. 順序数    5
  111. 機能
  112.     UNRAR32.DLL がバックグラウンドモードか否かを得ます。
  113.  
  114. 戻り値
  115.     TRUE        バックグラウンドモード。
  116.     FALSE        非バックグラウンドモード(CPUタイムを占有します)。
  117.  
  118.  
  119. -----------------------------------------------------------------------
  120. BOOL WINAPI UnrarSetBackGroundMode(const BOOL bBackGroundMode);
  121. -----------------------------------------------------------------------
  122. 順序数    6
  123. 機能
  124.     UNRAR32.DLL のバックグラウンドモードを設定します。
  125.     バックグラウンドで実行しない方が圧縮/解凍の速度は早いですがその場
  126.     合タスクを専有します。
  127.     Win16、Win32s 以外の環境の場合は非バックグラウンドでも専有しません
  128.     ので、FALSE 設定で良いでしょう。
  129.     [UNRAR32.DLL]では値は保存しますが、動作に影響はありません。
  130.  
  131. 引数
  132.     bBackGroundMode    設定するバックグラウンドモード。
  133.       TRUE        バックグラウンドモード
  134.       FALSE        非バックグラウンドモード
  135.  
  136. 戻り値
  137.     TRUE        正常終了(設定できた)。
  138.     FALSE        動作中で変更できなかった場合や、引数が間違いの場合。
  139.  
  140.  
  141. -----------------------------------------------------------------------
  142. BOOL WINAPI UnrarGetCursorMode(VOID);
  143. -----------------------------------------------------------------------
  144. 順序数    7
  145. 機能
  146.     UNRAR32.DLL の動作中にカーソルを表示するモードか否かを得ます。
  147.     
  148. 戻り値
  149.     TRUE        カーソル表示モード。
  150.     FALSE        カーソル非表示モード。
  151.  
  152.  
  153. -----------------------------------------------------------------------
  154. BOOL WINAPI UnrarSetCursorMode(const BOOL bCursorMode);
  155. -----------------------------------------------------------------------
  156. 順序数    8
  157. 機能
  158.     UNRAR32.DLL の動作中にカーソルを表示するモードか否かを設定します。
  159.     [UNRAR32.DLL]では値は保存しますが、動作に影響はありません。
  160.  
  161. 引数
  162.     bCursorMode    設定するカーソルモード。
  163.       TRUE        カーソル表示モード。
  164.       FALSE        カーソル非表示モード。
  165.  
  166. 戻り値
  167.     TRUE        正常終了。
  168.     FALSE        動作中で変更できなかった場合や、引数が間違いの場合。
  169.  
  170.  
  171. -----------------------------------------------------------------------
  172. WORD WINAPI UnrarGetCursorInterval(VOID);
  173. -----------------------------------------------------------------------
  174. 順序数    3
  175. 機能
  176.     カーソルの回転速度を得ます。
  177.  
  178. 戻り値
  179.     カーソルの回転速度(msec)
  180.  
  181.  
  182. -----------------------------------------------------------------------
  183. BOOL WINAPI UnrarSetCursorInterval(const WORD wInterval);
  184. -----------------------------------------------------------------------
  185. 順序数    4
  186. 機能
  187.     カーソルの回転速度を設定します。
  188.     ただし、UNRAR32.DLL の動作中には変更できません。
  189.     [UNRAR32.DLL]では値は保存しますが、動作に影響はありません。
  190.  
  191. 引数
  192.     wInterval    カーソルの回転速度(msec)
  193.             デフォルトは 80 (msec) です。
  194.  
  195. 戻り値
  196.     TRUE        正常終了の場合。
  197.     FALSE        動作中で変更できなかった場合。
  198.  
  199.  
  200.  
  201. -----------------------------------------------------------------------
  202. int WINAPI UnrarGetArcFileInfo(LPSTR szFileName, MAININFO *lpMainInfo);
  203. -----------------------------------------------------------------------
  204. 順序数    16
  205. 機能
  206.     格納されているファイルの情報を得ます。
  207.     [UNRAR32.DLL]では現在未実装です。
  208.  
  209.  
  210. 引数
  211.     szFileName    情報を取得すべきアーカイブファイルのファイル名。
  212.     lpMainInfo    情報を格納する構造体の変数のアドレス。
  213.  
  214. 戻り値
  215.     正常終了時に0、異常時にはエラーコード(0以外)が返る。
  216.  
  217. -----------------------------------------------------------------------
  218. int WINAPI UnrarGetFileCount(LPCSTR szArcFile);
  219. -----------------------------------------------------------------------
  220. 順序数    17
  221. 機能
  222.     指定された書庫ファイルに格納されているファイル数を得ます。
  223.  
  224. 引数
  225.     szArcFile    格納ファイル数を得たい書庫ファイル名。
  226.  
  227. 戻り値
  228.     格納ファイル数を得る。エラーのときは -1 を返す。
  229.  
  230. その他
  231.     アーカイブファイルがマルチボリュームの場合は、指定されたボリュー
  232.     ムのみに格納されているファイル数を得ます。
  233.  
  234. -----------------------------------------------------------------------
  235. BOOL WINAPI UnrarQueryFunctionList(const int iFunction);
  236. -----------------------------------------------------------------------
  237. 順序数    18
  238. 機能
  239.     指定された API が UNRAR32.DLL で使用可能かどうかを得ます。
  240.     アプリケーション側は目的の機能(API)が有効であるかどうか、事前に
  241.     チェックするようにしてください。
  242.  
  243. 引数
  244.     iFunction    API を示す一意な数値。
  245.             具体的な数値については UNRAR32.H を参照して下さい。
  246.  
  247. 戻り値
  248.     TRUE        使用可能。
  249.     FALSE        使用出来ない、または iFunction は無効な値。
  250.  
  251. -----------------------------------------------------------------------
  252. HARC WINAPI UnrarOpenArchive(const HWND hWnd,LPCSTR szFileName,
  253.                 const DWORD dwMode);
  254. -----------------------------------------------------------------------
  255. 順序数    21
  256. 機能
  257.     指定ファイルが UNRAR32.DLL に有効な書庫ファイルかどうか調べ、
  258.     有効であればオープンし、一意の数値(ハンドル)を返します。
  259.     以後の書庫ファイルへのアクセスはこのハンドルでおこないます。
  260.     アクセスを終了する時は UnrarCloseArchive 関数を呼ばなければ
  261.     なりません。
  262.     [UNRAR32.DLL]では現在、dwMode は M_CHECK_ALL_PATH のみがサポ
  263.         ートされています。
  264.  
  265. 引数
  266.     hWnd        UNRAR32.DLL を呼び出すアプリのウィンドウ・ハンドル。
  267.     szFileName    書庫ファイル名。
  268.     dwMode        処理モードを指定するフラグ。次の値を|(オア)で
  269.             組み合わせる。
  270.  
  271.         M_INIT_FILE_USE        ARCHIVER.INI  の設定を利用する。
  272.         M_REGARDLESS_INIT_FILE    ARCHIVER.INI  の設定を無視する。
  273.         M_NOT_USE_TIME_STAMP    タイムスタンプ検査を省略する。
  274.         M_EXTRACT_REPLACE_FILE    同名のファイルで且つファイルが
  275.                     新しい場合に解凍する。
  276.         M_EXTRACT_NEW_FILE    解凍先にファイルが存在しない場合のみ
  277.                     解凍する。
  278.         M_EXTRACT_UPDATE_FILE    ファイルが存在しないか新しいときに
  279.                     解凍する。
  280.         M_CHECK_ALL_PATH    ファイル名の検索時に全パスを検索する。
  281.                     "-s" と同じ。
  282.         M_CHECK_FILENAME_ONLY    検索時にファイル名のみを対象とする。
  283.         M_CHECK_PATH        "-p1" と同様の検索方法を指定する。
  284.         M_CHECK_DISK_SIZE    解凍先のディスクの空き容量をチェックする。
  285.         M_REGARDLESS_DISK_SIZE    解凍先のディスクの空きをチェックしない。
  286.         M_USE_DRIVE_LETTER    格納ファイルのディレクトリ情報について
  287.                     ドライブ名も利用する。
  288.         M_NOT_USE_DRIVE_LETTER    格納ファイルのドライブ名を無視する。
  289.         M_INQUIRE_DIRECTORY    新規ディレクトリ作成の確認を行う。
  290.         M_NOT_INQUIRE_DIRECTORY    新規ディレクトリ作成の確認を行わない。
  291.         M_INQUIRE_WRITE        上書き確認を行う。
  292.         M_NOT_INQUIRE_WRITE    上書き確認を行わない。
  293.         M_CHECK_READONLY    読み込み専用ファイルを読み飛ばす。
  294.         M_REGARDLESS_READONLY    解凍先に読み込み専用ファイルがあっても
  295.                     解凍を行う。
  296.         M_REGARD_E_COMMAND    'E' コマンドと互換の解凍動作とする。
  297.         M_REGARD_X_COMMAND    'X' コマンドと互換の解凍動作とする。
  298.         M_ERROR_MESSAGE_ON    エラー時にメッセージを表示する。
  299.         M_ERROR_MESSAGE_OFF    エラー時にメッセージを表示しない。
  300.         M_BAR_WINDOW_ON        解凍状況ダイアログを表示する。
  301.         M_BAR_WINDOWS_OFF    解凍状況ダイアログを表示しない。
  302.         M_MAKE_INDEX_FILE    索引ファイルを作成する。
  303.         M_NOT_MAKE_INDEX_FILE    索引ファイルを作成しない。
  304.  
  305. 戻り値
  306.     指定の書庫ファイルに対応したハンドル。エラー時は NULL を返します。
  307.  
  308. その他
  309.     同時に複数のハンドルを利用する事ができるかどうかは、各DLLに依存。
  310.  
  311.  
  312. -----------------------------------------------------------------------
  313. int WINAPI UnrarCloseArchive(HARC hArc);
  314. -----------------------------------------------------------------------
  315. 順序数    22
  316. 機能
  317.     UnrarOpenArchive() で割り付けたハンドルを解放する。
  318.  
  319. 引数
  320.     hArc        UnrarOpenArchive() で返されたハンドル。
  321.  
  322. 戻り値
  323.     正常終了時に0、異常時にはエラーコード(0以外)が返る。
  324.  
  325.  
  326. -----------------------------------------------------------------------
  327. int WINAPI UnrarFindFirst(HARC hArc,
  328.             LPCSTR szWildName,LPINDIVIDUALINFO lpSubInfo);
  329. -----------------------------------------------------------------------
  330. 順序数    23
  331. 機能
  332.     最初の格納ファイルの情報を得る。
  333.  
  334. 引数
  335.     hArc        UnrarOpenArchive() で返されたハンドル。
  336.     szWildName    検索するファイル名の指定。ワイルドカード指定が
  337.             可能とする。
  338.             ファイル名はスペース区切りで複数指定が可能。
  339.     lpSubInfo    結果を返すための INDIVIDUALINFO 型の構造体へのポイ
  340.             ンタ。結果を必要としない場合は NULL を指定する事。
  341.  
  342. 戻り値
  343.     0        正常終了。_lpSubInfo  で指定された構造体に格納
  344.             ファイルの情報がセットされている。
  345.     -1        検索終了。
  346.  
  347. その他
  348.     アーカイブファイルがマルチボリュームの場合は、指定されたボリュー
  349.     ムのみに格納されているファイルの情報を得ます。
  350.  
  351. -----------------------------------------------------------------------
  352. int WINAPI UnrarFindNext(HARC hArc,LPINDIVIDUALINFO lpSubInfo);
  353. -----------------------------------------------------------------------
  354. 順序数    24
  355. 機能
  356.     直前の UnrarFindFirst() または UnrarFindNext() の次の格納ファイルの
  357.     情報を得る。
  358.  
  359. 引数
  360.     hArc        UnrarOpenArchive() で返されたハンドル。
  361.     lpSubInfo    結果を返すための INDIVIDUALINFO 型の構造体へのポイ
  362.             ンタ。結果を必要としない場合は NULL を指定する事。
  363.  
  364. 戻り値
  365.     0        正常終了。_lpSubInfo  で指定された構造体に格納
  366.             ファイルの情報がセットされている。
  367.     -1        検索終了。
  368.  
  369. その他
  370.     アーカイブファイルがマルチボリュームの場合は、指定されたボリュー
  371.     ムのみに格納されているファイルの情報を得ます。
  372.  
  373. -----------------------------------------------------------------------
  374. int WINAPI UnrarExtract(HARC hArc,LPCSTR szFileName,
  375.                 LPCSTR szDirName, DWORD dwMode);
  376. -----------------------------------------------------------------------
  377. 順序数    25
  378. 機能
  379.     指定されたファイルを解凍する。
  380.     [UNRAR32.DLL]では現在未実装です。
  381.  
  382. 引数
  383.     hArc        UnrarOpenArchive() で返されたハンドル。
  384.     szFileName    解凍するファイル名。
  385.             _dwMode で指定するモードにより意味が変わる。
  386.     szDirName    解凍先のディレクトリ。
  387.             最後を \ で終わる必要はない(あっても良い)。
  388.     dwMode        UnrarOpenArchive() で指定可能なものの他に解凍モー
  389.             ドとして、次の値も指定出来る。
  390.  
  391.         EXTRACT_FOUND_FILE    直前の UnrarFindFirst() 等で
  392.                     マッチしたファイルを解凍。
  393.         EXTRACT_NAMED_FILE    _szFileName で指定されたファイル
  394.                     を解凍。
  395.  
  396. 戻り値
  397.     正常終了時に0、異常時にはエラーコード(0以外)が返る。
  398.  
  399.  
  400. -----------------------------------------------------------------------
  401. int WINAPI UnrarAdd(HARC hArc,LPCSTR szFileName,DWORD dwMode);
  402. -----------------------------------------------------------------------
  403. 順序数    26
  404. 機能
  405.     指定されたファイルを圧縮、現在位置に追加する。
  406.     現在位置が同一ファイル名で、且つ古い場合は置き換える。
  407.     [UNRAR32.DLL]では現在未実装です。
  408.  
  409. 引数
  410.     hArc        UnrarOpenArchive() で返されたハンドル。
  411.     szFileName    圧縮するファイル名。
  412.             _dwMode で指定するモードにより意味が変わる。
  413.     dwMode        UnrarOpenArchive() で指定可能なものの他に圧縮モー
  414.             ドとして、次の値も指定出来る。
  415.  
  416.  
  417. 戻り値
  418.     正常終了時に0、異常時にはエラーコード(0以外)が返る。
  419.  
  420.  
  421. -----------------------------------------------------------------------
  422. int WINAPI UnrarMove(HARC hArc,LPCSTR szFileName,DWORD dwMode);
  423. -----------------------------------------------------------------------
  424. 順序数    27
  425. 機能
  426.     [UNRAR32.DLL]では現在未実装です。
  427.  
  428.  
  429. -----------------------------------------------------------------------
  430. int WINAPI UnrarDelete(HARC hArc,LPCSTR szFileName,DWORD dwMode);
  431. -----------------------------------------------------------------------
  432. 順序数    28
  433. 機能
  434.     [UNRAR32.DLL]では現在未実装です。
  435.  
  436.  
  437. -----------------------------------------------------------------------
  438. int WINAPI UnrarGetArcFileName(HARC hArc,LPCSTR lpBuffer,int nSize);
  439. -----------------------------------------------------------------------
  440. 順序数    31
  441. 機能
  442.     書庫ファイル名を得る。
  443.  
  444. 引数
  445.     hArc        UnrarOpenArchive() で返されたハンドル。
  446.     lpBuffer    ファイル名を格納するバッファ。
  447.     nSize        バッファのサイズ。
  448.  
  449. 戻り値
  450.     正常終了時に0、異常時にはエラーコード(0以外)が返る。
  451.  
  452.  
  453. -----------------------------------------------------------------------
  454. DWORD WINAPI UnrarGetArcFileSize(HARC hArc);
  455. -----------------------------------------------------------------------
  456. 順序数    32
  457. 機能
  458.     書庫ファイルのサイズを得る。
  459.  
  460. 引数
  461.     hArc        UnrarOpenArchive() で返されたハンドル。
  462.  
  463. 戻り値
  464.     書庫ファイルのサイズ。エラー時には -1 を返す。
  465.  
  466.  
  467. -----------------------------------------------------------------------
  468. DWORD WINAPI UnrarGetArcOriginalSize(HARC hArc);
  469. -----------------------------------------------------------------------
  470. 順序数    33
  471. 機能
  472.     現時点までの検索(UnrarFindFirst() および UnrarFindNext() )に
  473.     マッチしたファイルの(解凍後の)サイズの合計を得る。
  474.     UnrarFindNext() の検索が終了した後では、書庫ファイル中の検索で
  475.     一致した全ファイルの合計値となる。
  476.  
  477. 引数
  478.     hArc        UnrarOpenArchive() で返されたハンドル。
  479.  
  480. 戻り値
  481.     合計サイズ。エラー時には -1 を返す。
  482.  
  483.  
  484. -----------------------------------------------------------------------
  485. DWORD WINAPI UnrarGetArcCompressedSize(HARC hArc);
  486. -----------------------------------------------------------------------
  487. 順序数    34
  488. 機能
  489.     検索にマッチしたファイルの圧縮サイズの合計を得る。
  490.     その他詳細は UnrarGetArcOriginalSize() に準ずる。
  491.  
  492. 引数
  493.     hArc        UnrarOpenArchive() で返されたハンドル。
  494.  
  495. 戻り値
  496.     圧縮サイズの合計。エラー時には -1 を返す。
  497.  
  498.  
  499. -----------------------------------------------------------------------
  500. WORD WINAPI UnrarGetArcRatio(HARC hArc);
  501. -----------------------------------------------------------------------
  502. 順序数    35
  503. 機能
  504.     検索にマッチしたファイルの全体の圧縮率を得る。
  505.     その他詳細は UnrarGetArcOriginalSize() に準ずる。
  506.  
  507. 引数
  508.     hArc        UnrarOpenArchive() で返されたハンドル。
  509.  
  510. 戻り値
  511.     全体の圧縮率(パーミル)。エラー時には -1。
  512.  
  513.  
  514. -----------------------------------------------------------------------
  515. WORD WINAPI UnrarGetArcDate(HARC hArc);
  516. -----------------------------------------------------------------------
  517. 順序数    36
  518. 機能
  519.     書庫ファイルの日付を得る。
  520.  
  521. 引数
  522.     hArc        UnrarOpenArchive() で返されたハンドル。
  523.  
  524. 戻り値
  525.     書庫ファイルの日付。エラー時には -1。
  526.     形式は MSDOS のタイムスタンプに準ずる。
  527.  
  528. -----------------------------------------------------------------------
  529. WORD WINAPI UnrarGetArcTime(HARC hArc);
  530. -----------------------------------------------------------------------
  531. 順序数    37
  532. 機能
  533.     書庫ファイルの時刻を得る。
  534.  
  535. 引数
  536.     hArc        UnrarOpenArchive() で返されたハンドル。
  537.  
  538. 戻り値
  539.     書庫ファイルの時刻。エラー時には -1。
  540.     形式は MSDOS のタイムスタンプに準ずる。
  541.  
  542.  
  543. -----------------------------------------------------------------------
  544. UINT WINAPI UnrarGetArcOSType(HARC hArc);
  545. -----------------------------------------------------------------------
  546. 順序数    38
  547. 機能
  548.     書庫ファイル作成に使用されたOSの種類を得る。
  549.  
  550. 引数
  551.     hArc        UnrarOpenArchive() で返されたハンドル。
  552.  
  553. 戻り値
  554.     OSの種類を示す数値。
  555.     0 : MS-DOS    1 : PRIMOS    2 : UNIX    3 : AMIGA
  556.     4 : MAC-OS    5 : OS/2    6 : APPLE GS    7 : ATARI ST
  557.     8 : NEXT    9 : VAX VMS    10: その他。
  558.     11: OS9        12: OS/68K    13: OS/386    14: HUMAN
  559.     15: CP/M    16: FLEX    17: Runser
  560.     18: VM CMS    19: Z SYSTEM    20: TOPS20    21: Windows NTFS
  561.     -1: エラー。
  562.  
  563.  
  564. -----------------------------------------------------------------------
  565. int WINAPI UnrarIsSFXFile(HARC hArc);
  566. -----------------------------------------------------------------------
  567. 順序数    39
  568. 機能
  569.     書庫ファイルが自己解凍ファイルかどうかを調べる。
  570.  
  571. 引数
  572.     hArc        UnrarOpenArchive() で返されたハンドル。
  573.  
  574. 戻り値
  575.     0    通常の書庫ファイル。
  576.     1    自己解凍ファイル。
  577.     -1    エラー。
  578.  
  579.  
  580. -----------------------------------------------------------------------
  581. int WINAPI UnrarGetFileName(HARC hArc,LPCSTR lpBuffer,int nSize);
  582. -----------------------------------------------------------------------
  583. 順序数    40
  584. 機能
  585.     格納ファイルのファイル名を得る。
  586.  
  587. 引数
  588.     hArc        UnrarOpenArchive() で返されたハンドル。
  589.     lpBuffer    ファイル名を格納するバッファ。
  590.     nSize        バッファのサイズ。
  591.  
  592. 戻り値
  593.     正常終了時には0が返され,_lpBuffer にファイル名が格納される。
  594.  
  595. その他
  596.     「格納ファイル」とは、直前の検索(UnrarFindFirst() または
  597.      UnrarFindNext() )にマッチしたファイルを示す。
  598.     以下の各APIでも同様。
  599.  
  600. -----------------------------------------------------------------------
  601. DWORD WINAPI UnrarGetOriginalSize(HARC hArc);
  602. -----------------------------------------------------------------------
  603. 順序数    41
  604. 機能
  605.     格納ファイルの(解凍後の)サイズを得る。
  606.  
  607. 引数
  608.     hArc        UnrarOpenArchive() で返されたハンドル。
  609.  
  610. 戻り値
  611.     格納ファイルのサイズ。エラー時は -1。
  612.  
  613.  
  614. -----------------------------------------------------------------------
  615. DWORD WINAPI UnrarGetCompressedSize(HARC harc);
  616. -----------------------------------------------------------------------
  617. 順序数    42
  618. 機能
  619.     格納ファイルの圧縮サイズを得る。
  620.  
  621. 引数
  622.     hArc        UnrarOpenArchive() で返されたハンドル。
  623.  
  624. 戻り値
  625.     格納ファイルの圧縮サイズ。エラー時は -1。
  626.  
  627.  
  628. -----------------------------------------------------------------------
  629. WORD WINAPI UnrarGetRatio(HARC hArc);
  630. -----------------------------------------------------------------------
  631. 順序数    43
  632. 機能
  633.     格納ファイルの圧縮率を得る。
  634.  
  635. 引数
  636.     hArc        UnrarOpenArchive() で返されたハンドル。
  637.  
  638. 戻り値
  639.     格納ファイルの圧縮率(パーミル)。エラー時は -1。
  640.  
  641.  
  642. -----------------------------------------------------------------------
  643. WORD WINAPI UnrarGetDate(HARC hArc);
  644. -----------------------------------------------------------------------
  645. 順序数    44
  646. 機能
  647.     格納ファイルの日付を得る。
  648.  
  649. 引数
  650.     hArc        UnrarOpenArchive() で返されたハンドル。
  651.  
  652. 戻り値
  653.     格納ファイルの日付。エラー時は -1。
  654.     形式は MSDOS のタイムスタンプに準ずる。
  655.  
  656.  
  657. -----------------------------------------------------------------------
  658. WORD WINAPI UnrarGetTime(HARC hArc);
  659. -----------------------------------------------------------------------
  660. 順序数    45
  661. 機能
  662.     格納ファイルの時刻を得る。
  663.  
  664. 引数
  665.     hArc        UnrarOpenArchive() で返されたハンドル。
  666.  
  667. 戻り値
  668.     格納ファイルの時刻。エラー時は -1。
  669.     形式は MSDOS のタイムスタンプに準ずる。
  670.  
  671.  
  672. -----------------------------------------------------------------------
  673. DWORD WINAPI UnrarGetWriteTime(HARC _harc)
  674. -----------------------------------------------------------------------
  675. 順序数    62
  676. 機能
  677.     格納ファイルの最終更新日時を得ます。
  678.     [UNRAR32.DLL]では現在未実装です。常に-1を返します。
  679.  
  680. 戻り値
  681.     格納ファイルの UNIX 形式の UTC による更新日時。エラー時は -1。
  682.  
  683. 注意
  684.     後述の UnrarGetCreateTime(),UnrarGetAccessTime() も同様だが,これ
  685.     らを保存するヘッダの仕様が正式決定していないので,なるべく使用を控
  686.     えること。
  687.  
  688. -----------------------------------------------------------------------
  689. DWORD WINAPI UnrarGetCreateTime(HARC _harc)
  690. -----------------------------------------------------------------------
  691. 順序数    63
  692. 機能
  693.     格納ファイルの作成日時を得ます。
  694.     [UNRAR32.DLL]では現在未実装です。常に-1を返します。
  695.  
  696. 戻り値
  697.     格納ファイルの UNIX 形式の UTC による作成日時。エラー時は -1。
  698.  
  699. -----------------------------------------------------------------------
  700. DWORD WINAPI UnrarGetAccessTime(HARC _harc)
  701. -----------------------------------------------------------------------
  702. 順序数    64
  703. 機能
  704.     格納ファイルの参照日時を得ます。
  705.     [UNRAR32.DLL]では現在未実装です。常に-1を返します。
  706.  
  707. 戻り値
  708.     格納ファイルの UNIX 形式の UTC による参照日時。エラー時は -1。
  709.  
  710. -----------------------------------------------------------------------
  711. DWORD WINAPI UnrarGetCRC(HARC hArc);
  712. -----------------------------------------------------------------------
  713. 順序数    46
  714. 機能
  715.     格納ファイルのチェックコード(CRCやチェックサム等)を得る。
  716.  
  717. 引数
  718.     hArc        UnrarOpenArchive() で返されたハンドル。
  719.  
  720. 戻り値
  721.     格納ファイルのチェックコード。エラー時は -1。
  722.  
  723.  
  724. -----------------------------------------------------------------------
  725. int WINAPI UnrarGetAttribute(HARC hArc);
  726. -----------------------------------------------------------------------
  727. 順序数    47
  728. 機能
  729.     格納ファイルの属性を得る。
  730.  
  731. 引数
  732.     hArc        UnrarOpenArchive() で返されたハンドル。
  733.  
  734. 戻り値
  735.     格納ファイルの属性。以下の各ビットをオア(|)接続したもの。
  736.     エラー時は -1。
  737.  
  738.     0x01    FA_RDONLY    読み込み専用ファイル。
  739.     0x02    FA_HIDDEN    不可視属性ファイル。
  740.     0x04    FA_SYSTEM    システムファイル。
  741.     0x08    FA_LABEL    ボリュームラベル。
  742.     0x10    FA_DIREC    ディレクトリ。
  743.     0x20    FA_ARCH        保存ビット。
  744.  
  745.  
  746. -----------------------------------------------------------------------
  747. UINT WINAPI UnrarGetOSType(HARC hArc);
  748. -----------------------------------------------------------------------
  749. 順序数    48
  750. 機能
  751.     格納ファイルが作成されたOSを得る。
  752.  
  753. 引数
  754.     hArc        UnrarOpenArchive() で返されたハンドル。
  755.  
  756. 戻り値
  757.     OSを示す数値。
  758.     詳細は UnrarGetArcOSType() を参照。
  759.  
  760.  
  761. -----------------------------------------------------------------------
  762. int WINAPI UnrarExtractMem(const HWND hWnd,LPCSTR szCmdLine,
  763.         LPBYTE szBuffer,const DWORD dwSize,time_t *lpTime,
  764.         LPWORD lpwAttr,LPDWORD lpdwWriteSize);
  765. -----------------------------------------------------------------------
  766. 順序数    
  767. 機能
  768.     メモリバッファへ解凍します。
  769.     [UNRAR32.DLL]では未実装です。常にFALSEを返します。
  770.     
  771. 引数
  772.     hWnd        UNRAR32.DLL を呼び出すアプリのウィンドウのハンドル。
  773.             UNRAR32.DLL は実行時にこのウィンドウに対して
  774.             EnableWindow() を実行しウィンドウの動作を抑制します。
  775.             ウィンドウが存在しないコンソールアプリの場合や,指定
  776.             する必要のない場合は NULL を渡します。
  777.     szCmdLine    UNRAR32.DLL に渡すコマンドの文字列。Unrar() と同じもの
  778.             が指定できますが,コマンドは無視されます。
  779.     lpBuffer    展開イメージを格納するバッファ。
  780.     dwSize        バッファのサイズ。UNRAR32.DLL が返す結果のサイズより指
  781.             定されたサイズが小さい場合は指定サイズまで出力されます。
  782.     lpTime        解凍されたファイルの UTC でのタイムスタンプを得ます。
  783.             必要ない場合は NULL を指定します。
  784.     lpwAttr        解凍されたファイルの属性を得ます。 必要ない場合は NULL
  785.             を指定します。
  786.     lpdwWriteSize    解凍の結果書き込まれたサイズを得ます。必要ない場合は
  787.             NULL を指定します。
  788.  
  789. 戻り値
  790.     正常終了の時        0。
  791.     エラーが発生した場合    0 以外の数。
  792.  
  793. その他
  794.     API の性格上,書庫やファイル名にワイルドカードを使うのは無意味と思
  795.     われます。
  796.  
  797. -----------------------------------------------------------------------
  798. int WINAPI UnrarCompressMem(const HWND hWnd,LPCSTR szCmdLine,
  799.         const LPBYTE szBuffer,const DWORD dwSize,
  800.         const time_t *lpTime,const LPWORD lpwAttr,
  801.         LPDWORD lpdwWriteSize);
  802. -----------------------------------------------------------------------
  803. 順序数    
  804. 機能
  805.     メモリバッファの内容を圧縮して書庫に格納します。
  806.     [UNRAR32.DLL]では未実装です。常に-1を返します。
  807.  
  808. 引数
  809.     hWnd        UNRAR32.DLL を呼び出すアプリのウィンドウのハンドル。
  810.             UNRAR32.DLL は実行時にこのウィンドウに対して
  811.             EnableWindow() を実行しウィンドウの動作を抑制します。
  812.             ウィンドウが存在しないコンソールアプリの場合や,指定
  813.             する必要のない場合は NULL を渡します。
  814.     szCmdLine    UNRAR32.DLL に渡すコマンドの文字列。ファイル名として指
  815.             定したものが格納時の名前になります。
  816.     lpBuffer    圧縮するイメージを格納したバッファ。
  817.     dwSize        イメージのサイズ。
  818.     lpTime        格納する時刻を UTC で指定します。NULL を指定すると圧縮
  819.             を行った時点の時刻が使用されます。
  820.     lpwAttr        格納する属性を指定します。NULL を指定すると FA_ARCH と
  821.             みなされます。
  822.     lpdwWriteSize    圧縮後のサイズを得ます。必要ないときは NULL を指定しま
  823.             す。
  824.  
  825. 戻り値
  826.     正常終了の時        0。
  827.     エラーが発生した場合    0 以外の数。
  828.  
  829. その他
  830.     API の性格上,書庫やファイル名にワイルドカードを使うのは無意味と思
  831.     われます。
  832.  
  833. -----------------------------------------------------------------------
  834. BOOL WINAPI UnrarSetOwnerWindow(HWND hWnd);
  835. -----------------------------------------------------------------------
  836. 順序数    90
  837. 機能
  838.     UNRAR32.DLL のメッセージの送信先ウィンドウを設定します。
  839.     UNRAR32.DLL はここで指定されたウィンドウに解凍状況等を知らせる
  840.     メッセージを送信します。
  841.     メッセージの詳細については、下記「ウィンドウズ・メッセージ」を参照。
  842.  
  843. 引数
  844.     hWnd        オーナーウィンドウに指定するウィンドウのハンドル
  845.  
  846. 戻り値
  847.     正常終了の場合 TRUE を返します。
  848.     動作中で変更できなかった場合や, 既にこの API で別のウィンドウが
  849.     設定されている場合には FALSE を返します。
  850.  
  851.  
  852. -----------------------------------------------------------------------
  853. BOOL WINAPI UnrarClearOwnerWindow(VOID);
  854. -----------------------------------------------------------------------
  855. 順序数    91
  856. 機能
  857.     UnrarSetOwnerWindow() で設定したウィンドウの設定を解除します。
  858.  
  859. 戻り値
  860.     正常終了の場合 TRUE を返します。
  861.     動作中で変更できなかった場合やには FALSE を返します。
  862.  
  863.  
  864. -----------------------------------------------------------------------
  865. BOOL WINAPI UnrarSetOwnerWindowEx(HWND hWnd,LPARCHIVERPROC lpArcProc)
  866. -----------------------------------------------------------------------
  867. 順序数    92
  868. 機能
  869.     UNRAR32.DLL の解凍状況を受け取るためのコールバック関数の指定を行
  870.     います。lpArcProc に NULL を指定すると hWnd で指定したウィンドウ
  871.     に メッセージを送出します(UnrarSetOwnerWindow(hWnd)と同じ)。
  872.  
  873. 戻り値
  874.     正常終了の場合 TRUE を返します。
  875.     動作中で変更できなかった場合や, 既にこの API で別のウィンドウが
  876.     設定されている場合には FALSE を返します。
  877.  
  878. -----------------------------------------------------------------------
  879. BOOL WINAPI UnrarKillOwnerWindowEx(HWND hWnd)
  880. -----------------------------------------------------------------------
  881. 順序数    93
  882. 機能
  883.     UnrarSetOwnerWindowEx() で設定したウィンドウの設定を解除します。
  884.  
  885. 戻り値
  886.     正常終了の場合 TRUE を返します。
  887.     動作中で変更できなかった場合や指定した hWnd が現在の設定と一致
  888.     しない場合には FALSE を返します。
  889.  
  890. -----------------------------------------------------------------------
  891. INDIVIDUALINFO の構造
  892. -----------------------------------------------------------------------
  893. 構造体定義
  894.         typedef struct {
  895.             char        szFileName[FNAME_MAX + 1];
  896.             UINT        uFlag;
  897.             DWORD         dwOriginalSize;
  898.             DWORD         dwCompressedSize;
  899.             WORD        wRatio;
  900.             WORD        wDate;
  901.             WORD         wTime;
  902.             DWORD        dwCRC;
  903.             char        szAttribute[5];
  904.             char        szMode[8];
  905.             UINT        uOSType;
  906.         } INDIVIDUALINFO;
  907.  
  908. メンバの説明
  909.     szFileName        アーカイブファイル名。
  910.     uFlag            解凍やテストを行った場合,格納ファイル毎の
  911.                 処理結果が返される。 コードは Unarj() が返
  912.                 すものと同じ。その他の場合は0。
  913.     dwOriginalSize        ファイルのサイズ。
  914.     dwCompressedSize    圧縮後のサイズ。
  915.     wRatio            圧縮率。ただし,パーミルで表してある。
  916.     wDate            格納ファイルの日付。
  917.     wTime            格納ファイルの時刻。
  918.     dwCRC            格納ファイルのチェックサム用 CRC。
  919.     szAttribute        格納ファイルの属性。LHA.DLL と同じ。
  920.     szMode            格納ファイルの格納モード。
  921.     uOSType            このファイルの作成に使われたOS。
  922.  
  923.  
  924. -----------------------------------------------------------------------
  925. ウィンドウズ・メッセージ
  926. -----------------------------------------------------------------------
  927. ●wm_arcextract
  928.  
  929. wm_arcextract
  930.  
  931. nMode = (int)wParam            /* 通知モードを表す */
  932. lpEis = (LPEXTRACTINGINFO)lParam    /* 構造体を指すポインタ */
  933.  
  934.  wm_arcextract メッセージは,UnrarSetOwnerWindow() で設定したウィンドウ
  935. に UNRAR32.DLL から送られます。
  936. このメッセージを受け取ることにより UNRAR32.DLL がこれから処理する格納ファ
  937. イル名やファイルサイズ等を得ることができます。
  938.  
  939. nMode        wParam の値です。UNRAR32.DLL の処理の状態を表します。
  940.  
  941.     0 : 該当ファイルの処理を開始することを表します。
  942.     1 : 該当ファイルの展開中であることを表します。
  943.     2 : 処理を終え,lpEis のメモリを開放しようとしていることを表します。
  944.  
  945. lpEis        lParam の値です。 ファイル名等を格納する  EXTRACTINGINFO
  946.         構造体を指すポインタです。
  947.  
  948. 戻り値
  949.  
  950.  このメッセージを処理するアプリケーションは、FALSEを返さなければなりません。
  951. FALSE 以外を返すことにより,UNRAR32.DLL の解凍処理を中止させることができます。
  952.  
  953.  
  954. -----------------------------------------------------------------------
  955. コールバック関数
  956. -----------------------------------------------------------------------
  957.  
  958. UNRAR32.DLL の解凍状況に応じて、UnrarSetOwnerWindowEx() で設定したコールバック
  959. 関数が呼ばれます。
  960. このコールバック関数に渡される引数により、UNRAR32.DLL がこれから処理する格納
  961. ファイル名やファイルサイズ等を得ることができます。
  962.  
  963.     typedef BOOL CALLBACK ARCHIVERPROC(HWND hWnd,UINT uMsg,
  964.             UINT nMode,LPEXTRACTINGINFOEX lpEis);
  965.  
  966.     hWnd        SetOwnerWindowEx で指定したウィンドウハンドルが渡され
  967.             ます。
  968.     uMsg        現在のところは wm_arcextract となります。
  969.     nMode        wm_arcextract の wParam,つまり nMode と同じ意味です。
  970.     lpEis        EXTRACTINGINFOEX 構造体へのポインタです。格納ファイルに
  971.              関する情報が得られます。
  972.  
  973. ARCHIVERPROC は UNRAR32.DLL に処理を継続させるときは TRUE、中止させるときは
  974. FALSE を返さなければなりません。
  975.  
  976.  
  977. -----------------------------------------------------------------------
  978. EXTRACTINGINFO の構造
  979. -----------------------------------------------------------------------
  980. 構造体定義
  981.         typedef struct {
  982.             char    szSourceFileName[FNAME_MAX + 1];
  983.             char    szDestFileName[FNAME_MAX + 1];
  984.             DWORD    dwFileSize;
  985.             DWORD    dwWriteSize;
  986.         }  EXTRACTINGINFO
  987.  
  988. メンバの説明
  989.     szSourceFileName    処理を行う格納ファイル名。
  990.     szDestFileName        実際に書き込まれるパス名。
  991.     dwFileSize        格納ファイルのサイズ。
  992.     dwWriteSize        解凍処理で書き込んだサイズ。
  993.  
  994. ------------------------------------------------------------------------
  995. 処理の流れ
  996. ------------------------------------------------------------------------
  997.  解凍される格納ファイルごとに次の1・2を繰り返す。
  998.  
  999. 1.nMode 0 でメッセージを送出。ファイル名等を得られる。
  1000. 2.nMode 1 でメッセージを送出。書き込みサイズが得られる。そのファイルに
  1001.     ついての解凍処理が終了するまで,このメッセージを送出し続ける。
  1002.  
  1003.  すべての処理が終了した時点で(解凍状況表示を消すタイミング),
  1004.  
  1005. 3.nMode 2 でメッセージを送出。
  1006.  
  1007.  
  1008.  
  1009. -----------------------------------------------------------------------
  1010.     API の返すエラーコード
  1011. -----------------------------------------------------------------------
  1012.  
  1013. ■警告    :該当ファイルについての処理をスキップするだけで実行を中止する事
  1014.         はない。
  1015.  
  1016. ERROR_DISK_SPACE
  1017.     解凍する為のディスクの空きが足りません。
  1018. ERROR_READ_ONLY
  1019.     解凍先のファイルはリードオンリーです。
  1020. ERROR_USER_SKIP
  1021.     ユーザーによって解凍をスキップされました。
  1022. ERROR_UNKOWN_TYPE
  1023.     格納ファイルの種類が MS-DOS で扱える形式(BINARY 及び TEXT)以外で
  1024.     す。
  1025. ERROR_METHOD
  1026.     UNRAR32.DLL で扱えない格納モードで格納されています。
  1027. ERROR_PASSWORD_FILE
  1028.     格納ファイルにパスワードがかかっています。
  1029. ERROR_VERSION
  1030.     格納ファイルが UNRAR32.DLL が対応していないバージョンの形式です。
  1031. ERROR_FILE_CRC
  1032.     格納ファイルのチェックサムが合っていません。
  1033. ERROR_FILE_OPEN
  1034.     解凍時にファイルを開けませんでした。
  1035. ERROR_MORE_FRESH
  1036.     より新しいファイルが解凍先に存在しています。
  1037. ERROR_NOT_EXIST
  1038.     ファイルは解凍先に存在していません。
  1039. ERROR_ALREADY_EXIT
  1040.     ファイルが解凍先に既に存在しています。
  1041. ERROR_TOO_MANY_FILES
  1042.     格納ファイル数が限界を越えている。処理は正常に行われているが,限界
  1043.     を越えた部分については情報は得られていない。
  1044.  
  1045. ■エラー  :致命的なエラーでその時点で実行を中止する。
  1046.  
  1047. ERROR_DIRECTORY
  1048.     ディレクトリが作成できません。
  1049. ERROR_CANNOT_WRITE
  1050.     解凍中に書き込みエラーが生じました。
  1051. ERROR_HUFFMAN_CODE
  1052.     アーカイブファイルのハフマンコードが壊れています。
  1053. ERROR_COMMENT_HEADER
  1054.     アーカイブファイルのコメントヘッダが壊れています。
  1055. ERROR_HEADER_CRC
  1056.     アーカイブファイルのヘッダのチェックサムが合っていません。
  1057. ERROR_HEADER_BROKEN
  1058.     アーカイバファイルのヘッダが壊れています。
  1059. ERROR_ARCHIVE_FILE_OPEN
  1060.     アーカイブファイルを開く事が出来ません。
  1061. ERROR_NOT_ARCHIVE_FILE
  1062.     指定したファイルは、アーカイブファイルではありません。
  1063. ERROR_CANNOT_READ
  1064.     アーカイブファイルの読み込み時に読み込みエラーが出ました。
  1065. ERROR_FILE_STYLE
  1066.     指定されたファイルは、アーカイブファイルではありません。
  1067. ERROR_COMMAND_NAME
  1068.     コマンド指定が間違っています。
  1069. ERROR_MORE_HEAP_MEMORY
  1070.     作業用のためのヒープメモリが不足しています。
  1071. ERROR_ENOUGH_MEMORY
  1072.     グローバルメモリが不足しています。
  1073. ERROR_ALREADY_RUNNING
  1074.     既に別のプロセスから UNRAR32.DLL が呼ばれています。
  1075.  
  1076. -----------------------------------------------------------------------
  1077. 注意
  1078. -----------------------------------------------------------------------
  1079.  
  1080. 今後仕様変更される事があります。
  1081.  
  1082. =======================================================================
  1083.