Record THPDFCABIOperationV1
Descriptor versionado de C ABI para una operación de documento JSON con IO respaldado por callbacks
THPDFCABIOperationV1 = record
StructSize: UInt32;
ABIVersion: UInt32;
Flags: UInt64;
JSON: PAnsiChar;
JSONLength: NativeUInt;
InputIO: PHPDFCABIIOV1;
OutputIO: PHPDFCABIIOV1;
ResultIO: PHPDFCABIIOV1;
end;
La unit 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 engine que THPDFJobProcessor.ExecuteLoadedOperation
Los tres records IO son bundles de callbacks prestados: InputIO suministra bytes de la fuente, OutputIO recibe 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 writer y user-data, incluso 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 estados no cero definido, y los conteos de bytes exitosos de cero o excesivos, se convierten en HPDF_STATUS_IO_ERROR; el layout del record V1 y el comportamiento de escritura parcial exitosa 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 agregando campos detrás de una nueva versión de ABI