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 版本之後附加欄位