function SrepInit
function SrepInit(TmpPath
AnsiChar;
VirtMem,MaxSave:Cardinal):boolean;
инициализация переменных для распаковки srep-архивов как отдельных, так и внутри .arc архива. Эта функция является необязательной, т.к. при инициализации командой ISDoneInit все параметры принимают свои знчения по умолчанию. Чтобы их поменять и существует рассматриваемая функция.
TmpPath – назначает путь для temp файла менеджера виртуальной памяти srep'а;
VirtMem – размер памяти,задаваемый в Мб, выделяемый менеджером памяти для форсирования распаковки srep-архивов упакованных с опцией -f (-m1f, -m2f, -m3f) как отдельных, так и внутри цепочки в .arc-архиве (как для stdin/out, так и для cls фильтра). Значение по умолчанию: 0 (весь объем повторяющихся фрагментов полностью хранится в памяти без использования temp файла);
MaxSave – максимальный размер строки совпадений (в байтах), который при распаковке будет оставаться в памяти для ускорения последующей распаковки. Остальные совпадения впоследствии будут браться с жесткого диска. Работает только для архивов, упакованных с опцией -f. Используется только для отдельных srep архивов или для распаковываемых посредством stdin/stdout интерфейсом FreeArc'а, для CLS фильтра не используется. Значение по умолчанию: 0 (в памяти остаются все совпадения);
function PrecompInit
function PrecompInit(TmpPath
AnsiChar;
VirtMem:cardinal;PrecompVers:single):boolean;
инициализация переменной, определяющей версию для распаковки precomp-архивов. Эта функция является необязательной, т.к. при инициализации командой ISDoneInit параметры принимают свои знчения по умолчанию. Чтобы их поменять и существует рассматриваемая функция.
TmpPath – назначает путь для temp файла менеджера виртуальной памяти precomp'а. При пустом значении используется папка, в которой находится библиотека фильтра. Используется только для CLS фильтра (PrecompInside);
VirtMem – размер памяти,задаваемый в Мб, который сможет выделить менеджер памяти CLS фильтра precomp'а для хранения всей необходимой информации. Если данные исходного архива требуют выделения бОльшей памяти, чем это задано текущим параметром, то фильтр создаст temp файл и все лишнее будет скидывать туда. Используется только для CLS фильтра (PrecompInside);
PrecompVers – дробное число, котрое указывает библиотеке какую версию precomp необходимо использовать. Используется только для распаковки с помощью функции ISPrecompExtract. По умолчанию значение равно нулю. При задании значения возможно 4 варианта:
0 - используется автоматическое определение версии по содержанию pcf-файлов. А так же оттуда считываются имена выходных файлов, если в функции ISPrecompExtract выходным файлом задана папка (precomp при упаковке сохраняет внутри .pcf оригинальное имя файла);
0.38 - используется Precomp версии 0,38 посредством precomp038.exe. Имена выходных файлов при групповой распаковке получаются отсечением последнего расширения у входных файлов. Например data.pak.pcf распакуется в data.pak. Либо же формируются в соответствии с маской, указанной в параметре выходного файла в ISPrecompExtract;
0.4 - используется Precomp версии 0,4 посредством precomp040.exe. Имена выходных файлов при групповой распаковке получаются так же, как в остальных версиях;
0.41 - используется Precomp версии 0,41 посредством precomp041.exe. Имена выходных файлов при групповой распаковке генерятся так же, как в предыдущем пункте;
В примере скрипта использования библиотеки этот параметр подставляется автоматом по заданному определению #define precomp, если необходимо конкретно указать версию, или поставить 0, то вместо PCFVer в данной функции укажите требуемое значение;