THPDFCABIOperationV1 記錄

以 callback 支撐 IO 的單一 JSON 文件操作之帶版本 C ABI 描述子

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

單元為 HPDFCAPI;StructSize 與 ABIVersion 必須符合 hpdf_abi_operation_v1_size 與 hpdf_abi_version 回報的大小與版本,否則呼叫被拒

JSON 搭配 JSONLength 攜帶 UTF-8 操作物件,由與 THPDFJobProcessor.ExecuteLoadedOperation 相同的引擎接受

三個 IO 記錄都是借用的 callback 集合:InputIO 供應來源位元組,OutputIO 接收二進位結果,ResultIO 接收 JSON 結果文件

對 JSON execute 與雙 handle 比較操作,寫 callback 失敗後不會再次透過同一 writer 與 user-data 對發布錯誤結果,包括 OutputIO 和 ResultIO 共用該對的情況;呼叫端已收到的部分候選位元組仍由呼叫端自行負責

寫入狀態值超出已定義的非零狀態範圍、成功位元組數為零或超額時,都會變成 HPDF_STATUS_IO_ERROR;V1 記錄版面與成功的部分寫入行為保持不變

此 struct 以指標傳給 hpdf_document_execute_json_v1 與 hpdf_document_compare_json_v1,擴充時只能在新 ABI 版本之後附加欄位

JSON 與 C ABI 文件操作