Record THPDFCABIOperationV1

Descripteur d'ABI C versionné pour une opération JSON de document avec IO adossées à des callbacks

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

L'unité est HPDFCAPI ; StructSize et ABIVersion doivent correspondre aux tailles et versions signalées par hpdf_abi_operation_v1_size et hpdf_abi_version, sinon l'appel est rejeté

JSON avec JSONLength transporte l'objet d'opération UTF-8 accepté par le même moteur que THPDFJobProcessor.ExecuteLoadedOperation

Les trois records d'IO sont des faisceaux de callbacks empruntés : InputIO fournit les octets du source, OutputIO reçoit les résultats binaires et ResultIO reçoit le document de résultat JSON

Pour les opérations JSON execute et de comparaison à deux handles, un callback d'écriture en échec n'est pas rappelé pour publier un résultat d'erreur via la même paire writer et user-data, y compris quand OutputIO et ResultIO partagent cette paire ; les octets candidats partiels déjà reçus par l'appelant restent de sa responsabilité

Des statuts d'écriture hors de la plage de statuts non nuls définie, et des compteurs d'octets réussis nuls ou excessifs, deviennent HPDF_STATUS_IO_ERROR ; la disposition du record V1 et le comportement d'écritures partielles réussies restent inchangés

La struct est passée par pointeur à hpdf_document_execute_json_v1 et hpdf_document_compare_json_v1, et ne s'étend qu'en ajoutant des champs derrière une nouvelle version d'ABI

Opérations de documents JSON et ABI C