IHPDFCustomStreamFilter
Define un descodificador personalizado con recuento de referencias usado por las canalizaciones de filtros de flujo cargados
Declaración
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 está prestado para la devolución de llamada, Output es un destino acotado aislado para el modo push, y Request proporciona la identidad de etapa, el presupuesto restante y la cancelación
HotPDF es propietario de DecodedStream después de un resultado pull correcto, mientras que Diagnostic debería explicar un resultado falso
Valor devuelto
Devuelva True solo después de producir un resultado de etapa completo y válido
Notas de uso
- Solo se llama al método seleccionado por
Mode - No libere, conserve ni devuelva el flujo
Inputprestado - Las operaciones largas deberían comprobar
Request.CancellationTokende forma cooperativa - Las excepciones se aíslan como
dpsCustomFilterError,dpsBudgetExceededodpsCancelled - Las devoluciones de llamada se ejecutan de forma síncrona y fuera del bloqueo del registro