IHPDFCustomStreamFilter
Definisce un decoder personalizzato a conteggio di riferimento usato dalle pipeline dei filtri di flusso caricati
Dichiarazione
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;
Parametri
Input è in prestito per la callback, Output è una destinazione limitata isolata per la modalità push e Request fornisce identità di stadio, budget rimanente e cancellazione
DecodedStream è di proprietà di HotPDF dopo un risultato pull riuscito, mentre Diagnostic dovrebbe spiegare un risultato false
Valore di ritorno
Restituisci True solo dopo aver prodotto un risultato di stadio completo e valido
Note di utilizzo
- Viene chiamato solo il metodo selezionato da
Mode - Non liberare, trattenere o restituire lo stream
Inputin prestito - Le operazioni lunghe dovrebbero controllare
Request.CancellationTokenin modo cooperativo - Le eccezioni vengono isolate come
dpsCustomFilterError,dpsBudgetExceededodpsCancelled - Le callback vengono eseguite in modo sincrono e fuori dal lock del registro