Record THPDFCABIOperationV1
Descriptor C ABI versionado para una operación JSON de documento con IO respaldada por callbacks
THPDFCABIOperationV1 = record
StructSize: UInt32;
ABIVersion: UInt32;
Flags: UInt64;
JSON: PAnsiChar;
JSONLength: NativeUInt;
InputIO: PHPDFCABIIOV1;
OutputIO: PHPDFCABIIOV1;
ResultIO: PHPDFCABIIOV1;
end;
La unidad es HPDFCAPI; StructSize y ABIVersion deben coincidir con los tamaños y versiones que reportan hpdf_abi_operation_v1_size y hpdf_abi_version, o la llamada se rechaza
JSON con JSONLength transporta el objeto de operación UTF-8 aceptado por el mismo motor que THPDFJobProcessor.ExecuteLoadedOperation
Los tres records de IO son bundles de callbacks prestados: InputIO suministra los bytes de la fuente, OutputIO recibe los resultados binarios, y ResultIO recibe el documento de resultado JSON
Para las operaciones JSON execute y de comparación de dos handles, un callback de escritura fallido no se vuelve a llamar para publicar un resultado de error a través del mismo par de escritor y datos de usuario, incluido cuando OutputIO y ResultIO comparten ese par; los bytes candidatos parciales ya recibidos por el llamador siguen siendo responsabilidad del llamador
Los valores de estado de escritura fuera del rango de estado distinto de cero definido, y los recuentos de bytes correctos cero o excesivos, se convierten en HPDF_STATUS_IO_ERROR; el layout del record V1 y el comportamiento de escritura parcial correcta permanecen sin cambios
El struct se pasa por puntero a hpdf_document_execute_json_v1 y hpdf_document_compare_json_v1, y solo se extiende añadiendo campos tras una nueva versión de ABI