Radnici kodeka izolirani od pada

HotPDF može premjestiti dekodiranje slika visokog rizika DCTDecode, JPXDecode i JBIG2Decode iz procesa domaćina

Načini izolacije

Kada dostupni radnik prihvati zahtjev, cimAutomatic ne ponavlja neuspjeli ili zlonamjerni ulaz u procesu domaćina

Granica procesa

Svaki zahtjev dekodiranja pokreće se u svježem skrivenom procesu dodijeljenom predmetu Windows Job Object s 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 razrješuje se na HotPDFCodecWorker.exe uz trenutnu aplikaciju

Telemetrija

GetLastCodecWorkerInfo izvještava o statusu, identifikatoru procesa, izlaznom kodu, proteklim milisekundama i ograničenoj dijagnostici na strani domaćina

GetLastJPEGReducedDecodeInfo izvještava o izvornoj, skaliranoj, izlaznoj geometriji i geometriji skenlinija nakon izoliranog smanjenog JPEG zahtjeva

Različiti statusi pokrivaju nedostupne ili nepokretljive radnike, vremensko ograničenje, pad, odbijanje dekodiranja, nepodudaranje protokola i ograničenja dekodiranog izlaza

Izgradnja i implementacija

build-HotPDF-Codec-Worker.cmd

Naredba izgradnje emitira zasebne Win32 i Win64 radnike pod tools\CodecWorker\<platform>\Release; implementirajte radnika koji odgovara arhitekturi procesa domaćina

Povezani API-ji