Record THPDFCABIOperationV1
Versionierter C-ABI-Descriptor für eine JSON-Dokumentoperation mit Callback-basiertem IO
THPDFCABIOperationV1 = record
StructSize: UInt32;
ABIVersion: UInt32;
Flags: UInt64;
JSON: PAnsiChar;
JSONLength: NativeUInt;
InputIO: PHPDFCABIIOV1;
OutputIO: PHPDFCABIIOV1;
ResultIO: PHPDFCABIIOV1;
end;
Die Unit ist HPDFCAPI; StructSize und ABIVersion müssen zu den Größen und Versionen passen, die hpdf_abi_operation_v1_size und hpdf_abi_version melden, sonst wird der Aufruf zurückgewiesen
JSON mit JSONLength trägt das UTF-8-Operationsobjekt, das dieselbe Engine akzeptiert wie THPDFJobProcessor.ExecuteLoadedOperation
Die drei IO-Records sind geliehene Callback-Bündel: InputIO liefert Source-Bytes, OutputIO empfängt binäre Ergebnisse, und ResultIO empfängt das JSON-Ergebnisdokument
Bei JSON-execute- und Zwei-Handle-Vergleichsoperationen wird ein fehlgeschlagener Write-Callback nicht erneut aufgerufen, um ein Fehlerergebnis über dasselbe Writer- und User-Data-Paar zu publizieren, auch wenn sich OutputIO und ResultIO dieses Paar teilen; teilweise bereits vom Aufrufer empfangene Kandidatenbytes bleiben in dessen Verantwortung
Write-Statuswerte außerhalb des definierten Nicht-null-Statusbereichs sowie null oder übermäßige erfolgreiche Bytezahlen werden zu HPDF_STATUS_IO_ERROR; das V1-Record-Layout und das erfolgreiche Partial-Write-Verhalten bleiben unverändert
Das Struct wird per Zeiger an hpdf_document_execute_json_v1 und hpdf_document_compare_json_v1 übergeben und nur erweitert, indem Felder hinter einer neuen ABI-Version angehängt werden