IHPDFCustomStreamFilter
Definieert een referentiegetelde aangepaste decoder die door geladen stream-filterpijplijnen wordt gebruikt
Declaratie
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;
Parameters
Input is voor de callback geleend, Output is een geïsoleerde begrensde bestemming voor push-modus, en Request levert fase-identiteit, resterend budget en annulering
DecodedStream is eigendom van HotPDF na een geslaagd pull-resultaat, terwijl Diagnostic een onwaar resultaat moet verklaren
Retourwaarde
Retourneer True alleen na het produceren van een volledig geldig fase-resultaat
Gebruiksopmerkingen
- Alleen de door
Modegeselecteerde methode wordt aangeroepen - Maak de geleende
Input-stream niet vrij, behoud deze niet en retourneer deze niet - Lange bewerkingen moeten
Request.CancellationTokencoöperatief controleren - Uitzonderingen worden geïsoleerd als
dpsCustomFilterError,dpsBudgetExceededofdpsCancelled - Callbacks worden synchroon en buiten de registratievergrendeling uitgevoerd