THPDFCABIOperationV1 Record

Versioned C ABI-descriptor voor één JSON-documentoperatie met callback-gebaseerde IO

THPDFCABIOperationV1 = record
  StructSize: UInt32;
  ABIVersion: UInt32;
  Flags: UInt64;
  JSON: PAnsiChar;
  JSONLength: NativeUInt;
  InputIO: PHPDFCABIIOV1;
  OutputIO: PHPDFCABIIOV1;
  ResultIO: PHPDFCABIIOV1;
end;

De unit is HPDFCAPI; StructSize en ABIVersion moeten matchen met de groottes en versies die hpdf_abi_operation_v1_size en hpdf_abi_version rapporteren, anders wordt de aanroep geweigerd

JSON met JSONLength draagt het UTF-8-operatieobject dat dezelfde engine accepteert als THPDFJobProcessor.ExecuteLoadedOperation

De drie IO-records zijn geleende callback-bundels: InputIO levert bronbytes, OutputIO ontvangt binaire resultaten en ResultIO ontvangt het JSON-resultaatdocument

Voor JSON-execute- en two-handle-vergelijkingsoperaties wordt een gefaalde write-callback niet opnieuw aangeroepen om een error-resultaat via hetzelfde writer- en user-data-paar te publiceren, ook niet wanneer OutputIO en ResultIO dat paar delen; partiele candidate-bytes die de aanroeper al heeft ontvangen blijven diens verantwoordelijkheid

Write-statuswaarden buiten het gedefinieerde niet-nul statusbereik, en nul of excessieve geslaagde byte-aantallen, worden HPDF_STATUS_IO_ERROR; de V1-record-layout en het succesvolle partiele-write-gedrag blijven ongewijzigd

De struct wordt per pointer doorgegeven aan hpdf_document_execute_json_v1 en hpdf_document_compare_json_v1, en alleen uitgebreid door velden achter een nieuwe ABI-versie toe te voegen

JSON- en C ABI-documentoperaties