Nuo gedimų izoliuoti kodeko darbuotojai

HotPDF gali perkelti didelės rizikos DCTDecode, JPXDecode ir JBIG2Decode paveikslo dekodavimą iš pagrindinio proceso

Izoliacijos režimai

Kai prieinamas darbuotojas priima užklausą, cimAutomatic nebandys pakartotinai nesėkmingo arba kenkėjiško įvesties pagrindiniame procese

Proceso riba

Kiekviena dekodavimo užklausa veikia naujame paslėptame procese, priskirtame vienam-procesui Windows Job objektui

Konfigūracija

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;

Tuščias CodecWorkerExecutable išsprendžiamas į HotPDFCodecWorker.exe šalia dabartinės programos

Telemetrija

GetLastCodecWorkerInfo praneša būseną, proceso identifikatorių, išėjimo kodą, praėjusias milisekundes ir apribotą pagrindinės pusės diagnostiką

GetLastJPEGReducedDecodeInfo praneša šaltinio, mastelio, išvesties ir skenavimo linijos geometriją po izoliuotos redukuotos JPEG užklausos

Atskiri statusai apima neprieinamus arba nepaleidžiamus darbuotojus, laiko pabaigą, gedimą, dekodavimo atmetimą, protokolo neatitikimą ir dekoduotos išvesties ribas

Sudarymas ir diegimas

build-HotPDF-Codec-Worker.cmd

Sukūrimo komanda išveda atskirus Win32 ir Win64 darbuotojus po tools\CodecWorker\<platform>\Release; diekite darbuotoją, atitinkantį pagrindinio proceso architektūrą

Susijusios API