Radnici kodeka izolovani od rušenja

HotPDF može da premesti rizično DCTDecode, JPXDecode i JBIG2Decode dekodiranje slika izvan host procesa

Režimi izolacije

Jednom kada dostupni radnik prihvati zahtev, cimAutomatic ne ponavlja neuspele ili zlonamerne ulaze u host procesu

Granica procesa

Svaki zahtev za dekodiranje pokreće se u svežem skrivenom procesu dodeljenom Windows Job Object-u sa jednim procesom

Konfiguracija

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;

Prazan CodecWorkerExecutable razrešava se na HotPDFCodecWorker.exe pored trenutne aplikacije

Telemetrija

GetLastCodecWorkerInfo izveštava status, identifikator procesa, kod izlaza, protekle milisekunde i ograničenu dijagnostiku host strane

GetLastJPEGReducedDecodeInfo izveštava geometriju izvora, skaliranja, izlaza i skeniranja nakon izolovanog reduced JPEG zahteva

Različiti statusi pokrivaju nedostupne ili nepokretljive radnike, istek vremena, rušenje, odbijanje dekodiranja, neusklađenost protokola i ograničenja dekodiranog izlaza

Formiranje i raspoređivanje

build-HotPDF-Codec-Worker.cmd

Komanda formiranja emituje odvojene Win32 i Win64 radnike pod tools\CodecWorker\<platform>\Release; rasporedite radnika koji odgovara arhitekturi host procesa

Povezani API-ji