Введение

AutoRun и сопутствующая функция AutoPlay являются компонентами операционной системы Microsoft Windows, которые определяют, какие действия выполняет система при монтировании диска. AutoRun был представлен в Windows 95 для упрощения установки приложений для нетехнических пользователей и снижения затрат на поддержку программного обеспечения. Когда в CD-ROM-накопитель вставляется соответствующим образом настроенный CD-ROM, Windows обнаруживает его появление и проверяет содержимое на наличие специального файла, содержащего набор инструкций. Для CD, содержащего программное обеспечение, эти инструкции обычно инициируют установку программного обеспечения с CD-ROM на жесткий диск. Чтобы максимизировать вероятность успешной установки, AutoRun также активируется при обращении к диску ("двойном щелчке") в проводнике Windows (или "Мой компьютер"). До появления Windows XP термины AutoRun и AutoPlay использовались взаимозаменяемо, разработчики часто использовали первый термин, а конечные пользователи – второй. Эта тенденция отражается в настройках политики Windows под названием AutoPlay, которые изменяют записи реестра Windows под названием AutoRun, и в файле, который заставляет "AutoPlay" добавляться в контекстные меню дисков. Терминология не имела большого значения до появления Windows XP и добавления новой функции, помогающей пользователям выбирать подходящие действия при обнаружении новых носителей и устройств. Эта новая функция была названа AutoPlay, и была создана дифференциация между двумя терминами. AutoRun, функция проводника Windows (фактически shell32.dll), представленная в Windows 95, позволяет носителям и устройствам запускать программы с помощью команд, перечисленных в файле, хранящемся в корневом каталоге носителя. В основном используется на установочных CD-ROM, вызываемые приложения обычно являются установщиками приложений. Файл autorun.inf также может указать значок, который будет визуально представлять устройство в проводнике, наряду с другими расширенными функциями. Windows называет это "базовым" уведомлением. Окно верхнего уровня – это окно, являющееся потомком рабочего стола. Однако, если измененное устройство не относится к этим типам, приложение может использовать функцию для регистрации и получения уведомлений об устройстве. Статья на веб-сайте CodeProject "Detecting Hardware Insertion and/or Removal" с пояснениями из блога Дорана Холана представляет особый технический интерес. Необъемные устройства – это устройства, которые не отображаются в виде букв дисков в "Моем компьютере". Они не обрабатываются какой-либо частью AutoRun, любые действия для этих устройств выполняются либо специализированным программным обеспечением устройства, либо AutoPlay. См. AutoPlay#Устройства, которые не являются дисками. Когда проводник Windows получает уведомление об изменении тома, он выполняет ряд действий: проверяет, отключен ли AutoRun через реестр. Если AutoRun отключен для этого диска или типа диска, проводник Windows не продолжает работу. В этой области были обнаружены ошибки. Проверяет, содержит ли корневой каталог вставленного носителя файл autorun.inf, который может быть прочитан. См. ниже. Отправляет сообщение в окно переднего плана. Приложение, зарегистрировавшее свою заинтересованность в получении этого сообщения, может ответить на него, чтобы остановить AutoRun (и, следовательно, AutoPlay) в этот момент. Любое приложение, находящееся на переднем плане или нет, также может быть уведомлено с помощью COM-интерфейса, доступного в Windows XP и более поздних версиях. Изменяет поведение двойного щелчка и контекстного меню. Когда пользователь дважды щелкает по значку диска в проводнике Windows или щелкает правой кнопкой мыши, чтобы получить контекстное меню, то, что происходит, полностью программируется настройками в файле autorun.inf. Добавляет управляемый autorun.inf значок и описательный текст к значку диска. Проверяет, нажата ли клавиша. Если это так, то Windows Vista (и более поздние версии Windows) вызовет диалоговое окно AutoPlay независимо от обратных настроек. Предыдущие версии Windows не продолжат этот процесс. Это включает типы дисков DRIVE_REMOVABLE, DRIVE_FIXED и DRIVE_REMOTE. AutoRun будет работать с сетевыми дисками (тип DRIVE_REMOTE), которые сопоставлены с буквой диска. AutoRun также будет работать с дисководами гибких дисков, поставляемыми с совместимыми драйверами autorun.

Описание типа названия значение
DRIVE_UNKNOWN 0x00000000 Тип диска не может быть определен (обобщенный диск)
DRIVE_NO_ROOT_DIR 0x00000001 Диск в настоящее время недействителен (нет смонтированных томов)
DRIVE_REMOVABLE 0x00000002 Диск имеет съемный носитель (дисковод гибких дисков, USB-накопитель)
DRIVE_FIXED 0x00000003 Диск нельзя извлечь из дисковода (жесткий диск/твердотельный накопитель)
DRIVE_REMOTE 0x00000004 Диск является удаленным (сетевым) диском
DRIVE_CDROM 0x00000005 Диск является CD-ROM, DVD-ROM или BD-ROM дисководом
DRIVE_RAMDISK 0x00000006 Диск является RAM-диском
DRIVE_NOT_DETERMINED 0x00000007 Тип диска еще не определен
DRIVE_NOT_FOUND 0x00000008 Диск в настоящее время недоступен (отсоединенные диски)
RESERVED 0x00000009 Это значение зарезервировано для будущих технологий

Терминология реестра

Реестр Windows — это иерархическая база данных, хранящая настройки конфигурации и параметры операционной системы. Терминология несколько запутанна, поэтому она кратко обобщается здесь. Ключ реестра похож на папку, которая, помимо значений, может содержать подключи, которые, в свою очередь, могут содержать другие подключи, и так далее. Значение реестра состоит из пары «имя — данные». В документации Microsoft часто используется термин «запись» как эквивалент. Также используется термин «значение» вместо «данные», когда это понятно из контекста. Чтобы избежать путаницы, в этой статье всегда используется термин «запись» при упоминании пары «имя — данные». Два часто упоминаемых ключа реестра — это , который содержит настройки для каждого компьютера, и , который содержит настройки для текущего пользователя. Они почти всегда сокращаются как и соответственно. На одном компьютере может быть несколько пользователей; их настройки хранятся в , а на самом деле является ссылкой на соответствующее место в .

Изменение настроек реестра

Настройки реестра могут быть изменены напрямую с помощью инструмента графического интерфейса или утилиты командной строки. Настройки также можно поместить в текстовый файл с расширением .reg. Например, "". При двойном щелчке по файлу настройки из файла импортируются в реестр, если это разрешено правами доступа. Изменить их можно и косвенно, используя групповую политику, применяемую локально к отдельному компьютеру или к домену. Для того чтобы изменения в реестре вступили в силу, может потребоваться выход из системы или перезагрузка компьютера.

Редактирование групповой политики

Автоматический запуск может быть заблокирован на определенных дисках и типах дисков с использованием методов, описанных в разделе "Групповая политика". Однако редактор групповой политики недоступен в домашних версиях Windows XP и не предоставляет средств для точного выбора дисков. Тем не менее, групповая политика является общепринятым способом отключения автоматического запуска во всей Windows-домене.