IHPDFCustomStreamFilter
読み込みストリームフィルタパイプラインで使われる、参照カウント付きのカスタムデコーダを定義します
宣言
IHPDFCustomStreamFilter = interface(IInterface)
function GetFilterName: AnsiString;
function GetMode: THPDFCustomStreamFilterMode;
function GetInputSeekContract: THPDFCustomStreamSeekContract;
function GetOutputSeekContract: THPDFCustomStreamSeekContract;
function DecodePush(Input, Output: TStream;
const Request: THPDFCustomStreamFilterRequest;
out Diagnostic: AnsiString): Boolean;
function OpenPullStream(Input: TStream;
const Request: THPDFCustomStreamFilterRequest;
out DecodedStream: TStream;
out Diagnostic: AnsiString): Boolean;
end;
パラメータ
Input はコールバックの間借用され、 Output は push モード用の分離された有界な書き込み先で、 Request はステージの識別情報・残り予算・キャンセルを提供します
DecodedStream は pull が成功すると HotPDF の所有になり、 Diagnostic には false の結果の理由を説明する役割があります
戻り値
完全で有効なステージ結果を生成した場合にのみ True を返してください
使用上の注意
- 呼び出されるのは
Modeによって選ばれたメソッドだけです - 借用した
Inputストリームを解放・保持・返却しないでください - 長時間の操作では
Request.CancellationTokenを協調的に確認してください - 隔離される例外コードは
dpsCustomFilterError、dpsBudgetExceeded、またはdpsCancelled - コールバックは同期的に、レジストリロックの外で実行されます