Crash-Isolated Codec Workers

HotPDF môže presunúť dekódovanie obrázkov s vysokým rizikom DCTDecode, JPXDecode a JBIG2Decode mimo hostiteľského procesu

Režimy izolácie

Keď dostupný pracovník prijme požiadavku, cimAutomatic neopakuje neúspešný alebo škodlivý vstup v hostiteľskom procese

Hranica procesu

Každá požiadavka na dekódovanie beží v novom skrytom procese priradenom k objektu úlohy systému Windows s jedným procesom

Konfigurácia

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

Bitmap := PDF.ExtractLoadedImage(0);
if Bitmap = nil then
begin
  PDF.GetLastCodecWorkerInfo(Info);
  Writeln(Ord(Info.Status), ': ', Info.ErrorMessage);
end;

Prázdny CodecWorkerExecutable sa vyrieši na HotPDFCodecWorker.exe vedľa aktuálnej aplikácie

Telemetria

GetLastCodecWorkerInfo hlási stav, identifikátor procesu, kód ukončenia, uplynuté milisekundy a ohraničenú diagnostiku na strane hostiteľa

GetLastJPEGReducedDecodeInfo hlási geometriu zdroja, zmenšenia, výstupu a riadkov po izolovanej požiadavke na znížený JPEG

Rôzne stavy pokrývajú nedostupných alebo nespustiteľných pracovníkov, časový limit, pád, odmietnutie dekódovania, nesúlad protokolu a limity dekódovaného výstupu

Zostavenie a nasadenie

build-HotPDF-Codec-Worker.cmd

Príkaz na zostavenie vytvára samostatných pracovníkov Win32 a Win64 v tools\CodecWorker\<platform>\Release; nasaďte pracovníka zodpovedajúceho architektúre hostiteľského procesu

Súvisiace API