Kraschisolerade codec-arbetare

HotPDF kan flytta högrisk-DCTDecode-, JPXDecode- och JBIG2Decode-bildavkodning ut ur värdprocessen

Isoleringslägen

Så snart en tillgänglig arbetare accepterar en förfrågan provar cimAutomatic inte misslyckad eller skadlig indata i värdprocessen

Processgräns

Varje avkodningsförfrågan körs i en färsk dold process tilldelad ett en-process-Windows-Job-Object

Konfiguration

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;

En tom CodecWorkerExecutable löses upp till HotPDFCodecWorker.exe bredvid den aktuella applikationen

Telemetri

GetLastCodecWorkerInfo rapporterar statusen, processidentifieraren, avslutningskoden, förflutna millisekunder och en begränsad värd-sida-diagnostik

GetLastJPEGReducedDecodeInfo rapporterar käll-, skalad-, utgångs- och skanninjengeometri efter en isolerad reducerad JPEG-förfrågan

Distinkta statusar täcker otillgängliga eller icke-startbara arbetare, timeout, krasch, avkodningsavvisning, protokoll-mismatch och avkodade utgångsgränser

Byggnad och distribution

build-HotPDF-Codec-Worker.cmd

Byggkommandot avger separata Win32- och Win64-arbetare under tools\CodecWorker\<platform>\Release; distribuera arbetaren som matchar värdprocessarkitekturen

Relaterade API:er