Romat-suojatut koodekkityöntekijät
HotPDF pystyy siirtämään suuren riskin DCTDecode-, JPXDecode- ja JBIG2Decode-kuvanpurkamisen pois isäntäprosessista
Eristystilat
cimAutomaticon oletus ja käyttääHotPDFCodecWorker.exe-tiedostoa, kun se on saatavilla isäntäsuoritettavan rinnalla; muuten se säilyttää yhteensopivan prosessin sisäisen poluncimRequiredepäonnistuu suljettuna, kun työntekijä puuttuu, ei käynnisty, kaatuu, aikakatkaistaan, hylkää syötteen tai ylittää tuoterajancimDisabledkäyttää aina olemassa olevia prosessin sisäisiä dekoodereita
Kun käytettävissä oleva työntekijä on hyväksynyt pyynnön, cimAutomatic ei yritä epäonnistunutta tai haitallista syötettä uudelleen isäntäprosessissa
Prosessiraja
Jokainen purkupyyntö suoritetaan tuoreessa piilotetussa prosessissa, joka on osoitettu yhden prosessin Windows Job Object -objektiin
- Job Object päättää työntekijän ja mahdolliset yrityttyttyt jälkeläiset, kun sen käsitettä suljetaan
CodecWorkerMemoryLimitBytessoveltaa prosessikohtaisen sitoutuneen muistin kattoa ja on oletuksena 512 MiBCodecWorkerTimeoutMillisecondson oletuksena 10 000 ms ja päättää junttautuneen työntekijän- Koodattu syöte, valinnainen JBIG2-globaalit ja BGR24-tuotos käyttävät yhtä satunnaisesti nimettyä jaettua muistikartoitusta versioidulla kiinteän leveyden protokollalla
- Puretun tuotoksen kapasiteetti rajataan ilmoitetun kuvageometrian ja
DecodeBudgetBytes-arvon mukaan - Matalan tarkkuuden JPEG-pyynnöt kuljettavat täsmälliset kohdeulottuvuudet ja palauttavat vähennetyn DCT-geometrian rakentamatta täyden tarkkuuden työntekijärasteria
Määrittäminen
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;
Tyhjä CodecWorkerExecutable ratkaisee arvoon HotPDFCodecWorker.exe nykyisen sovelluksen rinnalla
Telemetria
GetLastCodecWorkerInfo raportoi tilan, prosessitunnisteen, poistumiskoodin, kuluneet millisekunnit ja rajatun isäntäpuolen diagnostiikan
GetLastJPEGReducedDecodeInfo raportoi lähde-, skaalattu-, tuotos- ja skannausviivageometrian eristetyn vähennetyn JPEG-pyynnön jälkeen
Erilliset tilat kattavat käyttämättömät tai käynnistymättömät työntekijät, aikakatkaisun, kaatumisen, purkuhylkäyksen, protokollaepäyhtenevän ja puretu-tuotos-rajan
Rakennus ja käyttöönotto
build-HotPDF-Codec-Worker.cmd
Rakennuskomento tuottaa erilliset Win32- ja Win64-työntekijät polkuun tools\CodecWorker\<platform>\Release; ota käyttöön isäntäprosessin arkkitehtuuria vastaava työntekijä