IHPDFCustomStreamFilter
Define um decodificador personalizado com contagem de referência usado por pipelines de filtro de fluxo carregado
Declaração
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;
Parâmetros
Input é emprestado para o retorno de chamada, Output é um destino limitado isolado para o modo push e Request fornece identidade de estágio, orçamento restante e cancelamento
DecodedStream é de propriedade do HotPDF após um resultado pull bem-sucedido, enquanto Diagnostic deve explicar um resultado falso
Valor de retorno
Retorne True apenas após produzir um resultado de estágio completo e válido
Notas de uso
- Apenas o método selecionado por
Modeé chamado - Não libere, retenha nem retorne o fluxo
Inputemprestado - Operações longas devem verificar
Request.CancellationTokencooperativamente - Exceções são isoladas como
dpsCustomFilterError,dpsBudgetExceededoudpsCancelled - Retornos de chamada são executados de forma síncrona e fora do bloqueio do registro