Çökme İzoleli Codec Çalışanları
HotPDF, yüksek riskli DCTDecode, JPXDecode ve JBIG2Decode görüntü çözmeyi konak sürecin dışına taşıyabilir
İzolasyon modları
cimAutomaticvarsayılandır ve konak çalıştırılabilirinin yanında mevcut olduğundaHotPDFCodecWorker.exekullanır, aksi halde uyumlu süreç içi yolu korurcimRequired, çalışan eksik olduğunda, başlatılamadığında, çöktüğünde, zaman aşımına uğradığında, girişi reddettiğinde veya çıktı sınırını aştığında kapalı olarak başarısız olurcimDisabledher zaman mevcut süreç içi çözücüleri kullanır
Kullanılabilir bir çalışan bir isteği kabul ettiğinde, cimAutomatic başarısız veya kötü amaçlı girişi konak sürecinde yeniden denemez
Süreç sınırı
Her çözme isteği, tek süreçli bir Windows Job Object'e atanan yeni gizli bir süreçte çalışır
- Job Object, tanıtıcısı kapandığında çalışanı ve olası alt işlemlerini sonlandırır
CodecWorkerMemoryLimitBytessüreç başına işlenmiş bellek tavanı uygular ve varsayılan olarak 512 MiB'dirCodecWorkerTimeoutMillisecondsvarsayılan olarak 10.000 ms'dir ve asılı çalışanı sonlandırır- Kodlanmış giriş, isteğe bağlı JBIG2 globaller ve BGR24 çıktı, sürümlü sabit genişlikli protokolle tek rastgele adlandırılmış paylaşımlı bellek eşlemesi kullanır
- Çözülen çıktı kapasitesi, bildirilen görüntü geometrisi ve
DecodeBudgetBytesile sınırlanır - Düşük çözünürlüklü JPEG istekleri tam hedef boyutlar taşır ve tam çözünürlük çalışan rasteri oluşturmadan indirgenmiş-DCT geometrisi döndürür
Yapılandırma
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;
Boş bir CodecWorkerExecutable, geçerli uygulamanın yanındaki HotPDFCodecWorker.exe olarak çözülür
Telemetri
GetLastCodecWorkerInfo, durumu, süreç tanımlayıcısını, çıkış kodunu, geçen milisaniyeyi ve sınırlı bir konak tarafı tanılamayı raporlar
GetLastJPEGReducedDecodeInfo, izole bir indirgenmiş JPEG isteğinden sonra kaynak, ölçeklenmiş, çıktı ve tarama çizgisi geometrisini raporlar
Farklı durumlar kullanılamayan veya başlatılamayan çalışanları, zaman aşımını, çökmeyi, çözme reddini, protokol uyumsuzluğunu ve çözülen çıktı sınırlarını kapsar
Derleme ve dağıtım
build-HotPDF-Codec-Worker.cmd
Derleme komutu tools\CodecWorker\<platform>\Release altında ayrı Win32 ve Win64 çalışanları üretir; konak süreç mimarisiyle eşleşen çalışanı dağıtın