16.16.4. function QuarantineFile
function QuarantineFile(AFileName, AMsg : string): boolean;
Копирование указанного файла с именем AFileName в карантин. При помещение в карантин в описание файла вносится текст из параметра AMsg. Если файл уже есть в карантине или он опознан по базе безопасных, то копирование в карантин блокируется.
Если файл найден и успешно скопирован в карантин, то функция возвращает true.
Если файл не найден или помещение в карантин блокировано по причине наличия файла в базе безопасных, то возвращается False.
На работу функции влияют маски фильтрации, задаваемые при помощи AddQuarantineFilter
%WinDir% - полный путь в папке Windows
%System32% - полный путь к папке System (в Win9x) или System32 (в NT/W2K/XP ...)
На заметку:
Если функции QuarantineFile не указано полное имя файла, то делается попытка поиска файла, в ходе которого кроме штатного поиска перебираются типовые варианты местоположения файла, в частности проверяются варианты "имя файла + пути к системным папкам". Это делается для того, чтобы повысить вероятность карантина нужных файлов для исследования
Пример:
begin
QuarantineFile('%System32%\vbsys2.dll',
'Подозрительное имя, возможно Trojan.Agent');
QuarantineFile('%WinDir%\vbsys2.dll',
'Подозрительное имя, возможно Trojan.Agent');
end.
В имени файла допускаются маски, содержащие "*" и "?", например:
begin
QuarantineFile('%System32%\vbsys*.dll',
'Подозрительное имя, возможно Trojan.Agent');
end.
При указании маски производится поиск подходящих файлов, и все найденные файлы добавляются в карантин.
В случае необходимости папка Quarantine может быть перемещена в любой каталог с помощью ключа командной строки QuarantineBaseFolder. В этом случае настройка папки карантина должна производиться до операций с карантином.
Пример:
begin
// Настройка местоположения папки карантина
SetupAVZ('QuarantineBaseFolder=c:\avz4\');
// Карантин файла
QuarantineFile('%System32%\vbsys2.dll',
'Подозрительное имя, возможно Trojan.Agent');
end.
В примере использовались: SetupAVZ