====== Для разработчиков ====== При загрузке библиотеки команда LoadLibrary пытается найти в dll функцию Autorun_PluginInit и, если такая будет найдена, предоставляет возможность разработчику задать команды и переменные. В функцию передаётся структура AutorunInterface, содержащая различные полезные данные, которые можно в дальнейшем использовать в плагине, а также указатель на единую функцию-адаптер. Для работы с функциями необходимо вызвать функцию SetAdapter с этим указателем в качестве параметра. После этого становятся доступными функции: function AddFunc(AName: PWideChar; AAddr: Pointer; AFlags: integer): integer; Добавляет пользовательскую команду в Autorun. \\ \\ function ParseNext(AParamStr: PWideChar; ABuffer: PWideChar; ABufSize: DWORD): integer; Возвращает следующий параметр из переданной строки с помощью парсера Autorun. Избавляет разработчика от самостоятельного выполнения этой работы. \\ \\ function GetVar(AVarName: PWideChar; Buffer: PWideChar; nBufferSize: DWORD): integer; Получает значение переменной по передаваемому имени. \\ \\ function SetVar(const AName, AValue: PWideChar; AFlags: integer): integer; Добавляет пользовательскую переменную в Autorun. \\ \\ function SetVarMacro(const AName: PWideChar; AFuncAddr: Pointer): integer; Добавляет пользовательскую макро-переменную в Autorun. \\ \\ function ExpandVars(const AText: PWideChar; ABuffer: PWideChar; ABufSize: DWORD): integer; Разворачивает переменные окружения и внутренние переменные в переданной строке. \\ \\ function ReportError(MsgID: integer; const AParam: PWideChar): integer; overload; Выводит стандартное сообщение об ошибке (ID --- в языковом файле Autorun). Если сообщение требует параметр, он передаётся в параметре AParam. \\ \\ function ReportError(const AParam: PWideChar): integer; overload; Выводит нестандартное сообщение об ошибке. Такое сообщение не может быть локализовано. \\ \\ function CallCommand(const ACmdLine: PWideChar; AResult: PWideChar; AResultSize: DWORD): integer; function CallCommand(const ACmdLine: PWideChar): integer; Вызывает встроенную команду Autorun. \\ \\ function GetAutorunValue(AValueType: integer; const AValueName: PWideChar; ABuffer: Pointer; nBufSize, AFlags: DWORD): integer; Получает различные значения Autorun, которые могут быть полезны при написании плагинов. При выгрузке Autorun пытается вызвать функцию Autorun_PluginFinish, если она реализована. Функция может использоваться для различных финализирующих действий (в особенности тех, которые нежелательно выполнять в DllMain). Подробнее смотрите в заголовочных файлах, находящихся в архиве с примером тестового плагина.