Pracovní procesy kodeků izolované proti pádu

HotPDF může přesunout vysoce rizikové dekódování obrázků DCTDecode, JPXDecode a JBIG2Decode mimo hostitelský proces

Režimy izolace

Jakmile dostupný pracovní proces požadavek přijme, cimAutomatic nezkouší selhaný nebo škodlivý vstup znovu v hostitelském procesu

Hranice procesu

Každý požadavek na dekódování běží v novém skrytém procesu přiřazeném k objektu Windows Job Object pro jeden proces. Objekt Job Object při uzavření svého popisovače ukončí pracovní proces i jeho případné potomky

Konfigurace

PDF.CodecIsolationMode := cimRequired;
PDF.CodecWorkerExecutable :=
  'C:\Program Files\MyApp\HotPDFCodecWorker.exe';
PDF.CodecWorkerTimeoutMilliseconds := 5000;
PDF.CodecWorkerMemoryLimitBytes := 256 * 1024 * 1024;

Prázdné CodecWorkerExecutable se vyřeší jako HotPDFCodecWorker.exe vedle aktuální aplikace

Telemetrie

GetLastCodecWorkerInfo uvádí stav, identifikátor procesu, ukončovací kód, uplynulé milisekundy a omezenou diagnostiku na straně hostitele

GetLastJPEGReducedDecodeInfo uvádí zdrojovou, zmenšenou, výstupní a skenovací geometrii po izolovaném požadavku na zmenšené JPEG

Odlišné stavy pokrývají nedostupné či nespustitelné pracovní procesy, vypršení času, pád, odmítnutí dekódování, nesoulad protokolu a limity dekódovaného výstupu

Sestavení a nasazení

build-HotPDF-Codec-Worker.cmd

Příkaz sestavení vytváří samostatné pracovní procesy Win32 a Win64 v tools\CodecWorker\<platform>\Release. Nasaďte pracovní proces odpovídající architektuře hostitelského procesu

Související API