この関数は、パック、展開、テスト、削除の進捗状況を示すためにプラグインから呼び出され、これらの処理の中断を許可する必要があります。
プラグインは、ハングアップを避けるために、かなりの頻度でこの関数を呼び出す必要があります。
ArcOpenW, ArcPackFilesW, ArcDeleteFilesW. の各関数において、プラグインが関数へのポインタを記憶している必要があります。
Syntax C++
typedef int (__stdcall *ArcProcessDataProcW)(
_In_ LONG_PTR Session,
_In_ wchar_t *FileName,
_In_ int Size
);
|
Parameters
Session [in]
Type: LONG_PTR
Session identifier .
FileName [in]
Type: wchar_t*
処理したアーカイブの名前(0-終端文字列), NULL 値は避けるべきである。
Size [in]
Type: 整数
通常、このパラメータには、前回の呼び出し以降に処理されたバイト数が指定されます。
値が 0 より小さい場合、プラグインが提供するパーセンテージとなります。
数値の下位2桁(-1~-100)が総進捗率を表す(-1が1%、-100が100%)
1000から-1100の間の負の値は、現在のファイルの処理の進捗状況を定義する(-1001は1%、-1100は100%)
100000以下の負の値(定数PK_DOUBLEPROGRESS)は、以下の式で両方の割合を1つの数値で指定することができます:
PK_DOUBLEPROGRESS ? (TotalPercentage + CurrentFilePercantage*1000)
戻り値
Type: 整数
ユーザーが割り込んだ場合は 0 を返す。そうでない場合は、プラグインの実行を継続する必要があります。
|