Record THPDFCABIOperationV1
Descrittore C ABI versionato per una singola operazione JSON su documento con IO supportato da callback
THPDFCABIOperationV1 = record
StructSize: UInt32;
ABIVersion: UInt32;
Flags: UInt64;
JSON: PAnsiChar;
JSONLength: NativeUInt;
InputIO: PHPDFCABIIOV1;
OutputIO: PHPDFCABIIOV1;
ResultIO: PHPDFCABIIOV1;
end;
L'unità è HPDFCAPI; StructSize e ABIVersion devono corrispondere alle dimensioni e versioni riportate da hpdf_abi_operation_v1_size e hpdf_abi_version altrimenti la chiamata viene rigettata
JSON con JSONLength trasporta l'oggetto operazione UTF-8 accettato dallo stesso motore di THPDFJobProcessor.ExecuteLoadedOperation
I tre record IO sono bundle di callback presi in prestito: InputIO fornisce i byte della sorgente, OutputIO riceve i risultati binari, e ResultIO riceve il documento risultato JSON
Per le operazioni JSON execute e di confronto a due handle, un callback di scrittura fallito non viene richiamato di nuovo per pubblicare un risultato d'errore attraverso la stessa coppia writer e user-data, incluso quando OutputIO e ResultIO condividono quella coppia; i byte parziali del candidato già ricevuti dal chiamante restano responsabilità del chiamante
I valori di stato di scrittura fuori dall'intervallo di stati diversi da zero definito, e conteggi di byte riusciti pari a zero o eccessivi, diventano HPDF_STATUS_IO_ERROR; il layout del record V1 e il comportamento delle scritture parziali riuscite restano invariati
La struct viene passata per puntatore a hpdf_document_execute_json_v1 e hpdf_document_compare_json_v1, ed estesa solo aggiungendo campi dietro una nuova versione ABI