Из Википедии, бесплатной энциклопедии
  (Перенаправлено из автозапуска )
Перейти к навигации Перейти к поиску
Автозапуск в Windows Vista .

Автозапуск , функция, представленная в Windows 98 , проверяет недавно обнаруженные съемные носители и устройства и на основе такого содержимого, как изображения, музыкальные или видеофайлы, запускает соответствующее приложение для воспроизведения или отображения содержимого. [1] Это тесно связано с функцией автозапуска операционной системы. AutoPlay был создан для того, чтобы упростить использование периферийных устройств - MP3-плееров , карт памяти , USB-накопителей.и другие - путем автоматического запуска программного обеспечения, необходимого для доступа и просмотра контента на этих устройствах. AutoPlay можно улучшить с помощью программного и аппаратного обеспечения, совместимого с AutoPlay. Пользователь может настроить его для связывания избранных приложений с событиями и действиями автозапуска.

Обзор [ править ]

Всплывающее окно автозапуска при вставке DVD.

Когда пользователь вставляет компакт-диск в привод или подключает USB-камеру, Windows обнаруживает прибытие и запускает процесс проверки устройства или поиска на носителе. Он ищет свойства устройства или содержимого на носителе, чтобы AutoPlay мог предоставить пользователю набор значимых параметров. Когда пользователь делает определенный выбор, у него также есть возможность сделать этот выбор автоматическим, когда Windows в следующий раз увидит это содержимое или устройство. [2]

В диалоговом окне отображается результат установки пользователем DVD в устройство чтения DVD, в данном случае в дисковод D : . AutoPlay определил, что контент, скорее всего, является DVD-фильмом, и представляет пользователю набор действий, основанный на этом решении. Эти действия называются обработчиками, и есть наборы обработчиков, связанных с различными типами содержимого. Теперь пользователь может принять решение и нажать OK, чтобы продолжить. Однако, если они также отметят поле «Всегда выполнять выбранное действие» на этом этапе, они не будут получать запрос в следующий раз, когда этот конкретный тип контента будет виден на этом конкретном диске; выбранное приложение запустится автоматически.

Свойства автозапуска [ править ]

Вкладка Автозапуск, отображающая диалоговое окно свойств DVD-привода в Windows XP .

Если пользователь сожалеет об этом решении или желает сделать автоматический выбор автозапуска для любого конкретного типа контента, свойства автозапуска для любого диска доступны через значок « Мой компьютер» на рабочем столе. При выборе диска и затем «Файл / Свойства» в меню проводника Windows с последующим выбором вкладки Автозапуск открывается диалоговое окно, подобное показанному. Типы контента можно выбрать в раскрывающемся списке. Здесь диалоговое окно показывает доступные обработчики, если AutoPlay когда-либо определяет тип содержимого на диске D: как «Изображения». Выбор действия для выполнения делает это действие автоматическим для этого пользователя. Выбор «Запрашивать каждый раз, чтобы выбрать действие» удаляет любую ассоциацию; Автозапуск подскажет в следующий раз.

Доступные типы содержимого зависят от типа выбранного диска. Картинки, музыкальные файлы и видео файлы доступны с любого диска. DVD- и CD-приводы также могут иметь «Музыкальный компакт-диск» или «DVD-фильм», а Windows Vista добавляет в список другие, например «Видео-CD-фильм».

Смешанный контент [ править ]

«Смешанное содержимое» - это результат того, что типы содержимого файлов попадают более чем в один из типов содержимого: изображения, музыкальные файлы или видеофайлы. Обратите внимание, что компакт-диск, содержащий звуковые дорожки, всегда рассматривается Windows как «Музыкальный компакт-диск», независимо от наличия дорожек с данными. [3] Следовательно, компакт-диск с файлами изображений, видеофайлами и аудиодорожками является «Музыкальным компакт-диском»; это не «смешанный контент».

Если это результат решения об автозапуске, пользователю всегда отображается диалоговое окно автозапуска. Он будет содержать набор приложений, которые считаются подходящими для найденного контента. Таким образом, если на флеш-накопителе обнаружены как музыкальные файлы, так и видеофайлы, пользователь сможет выбрать обработчики для «Музыкальных файлов» вместе с обработчиками для «видеофайлов». В этом случае пользователь не может сделать свой выбор по умолчанию.

Однако диалоговое окно свойств автозапуска для любого диска обычно дает «Смешанное содержимое» в качестве параметра типа содержимого. Доступные здесь параметры ограничены действиями, которые могут обрабатывать файлы любого типа, обычно «Открыть папку для просмотра файлов» - единственный обработчик, указанный здесь. Это позволяет пользователю сделать это действие по умолчанию для смешанного содержимого.

Устройства без громкости [ править ]

Диалоговое окно AutoPlay в Windows XP, показывающее вариант для устройства без громкости или цифровой камеры .

Некоторые типы устройств не отображаются как буквы дисков в «Моем компьютере». Они называются устройствами без громкости, и AutoPlay обрабатывает их несколько иначе, чем устройства с томом, такие как компакт-диски и DVD-диски. В эту категорию попадают многие цифровые фотоаппараты и видеоустройства.

Поскольку Windows не может проверить файлы на устройстве для определения типа содержимого, решение о дальнейших действиях остается за производителем. Производитель может зарегистрировать обработчики для своего конкретного устройства, может добавить свое устройство в группу устройств (например, ZipDrives) или разрешить классу устройства (например, всем устройствам, которые являются видеокамерами) обрабатывать их устройства за них. Это определяет, какие обработчики будут перечислены в диалоговом окне AutoPlay при обнаружении их устройства.

Поскольку у устройств этого типа нет буквы диска, свойства автозапуска не могут быть доступны и изменены через «Мой компьютер». Однако, когда устройство подключено, обнаружение заставляет Windows помещать значок в область уведомлений панели задач (обычно называемую лотком ). Настройки автозапуска для этого устройства теперь можно изменить, щелкнув этот значок. На соседнем изображении показан значок, появившийся при подключении видеокамеры.

Настройки по умолчанию [ править ]

При новой установке Windows набор приложений-обработчиков по умолчанию регистрируется в системе AutoPlay. [2] Ниже приведены значения по умолчанию для Windows XP SP2. Действие и Provider просто строки , хранящиеся в обработчике, они могут варьироваться , чтобы дать пользователю лучшее представление о том, что произойдет , если они выбирают это действие. Они также могут быть изменены в соответствии с предпочтительным языком пользователя. Многие обработчики используют одно и то же приложение Windows; например, Windows Media Player используется для воспроизведения музыкальных файлов, а также фильмов DVD. Слово «использование» добавлено функцией AutoPlay для аккуратного соединения двух строк.

Windows 95 и Windows 98 [ править ]

В Windows 95 и Windows 98 есть примитивная версия AutoPlay. Его единственная задача - иметь дело с аудио-компакт-дисками и DVD-дисками с фильмами и запускать приложение для работы с ними. Если новое поступление не попадает ни в одну из этих категорий, Windows продолжает обычный процесс автозапуска. [4]

Диалоговое окно " Параметры папки проводника" в Windows XP

Действия, предпринимаемые с аудио-компакт-дисками и DVD-дисками с фильмами, по сути, рассматривают оба типа носителей как файлы ; Затем Explorer просто выполняет действие по умолчанию, связанное с этим типом файла. Типы файлов и связанные с ними действия можно просмотреть и изменить из любой папки проводника на вкладке «Типы файлов» меню «Инструменты / Параметры папки». Они хранятся в реестре под HKEY_CLASSES_ROOT.

Если компакт-диск является аудио компакт-диском стандартного формата Красной книги , то Explorer вызывает действие по умолчанию, зарегистрированное для типа файла AudioCD . Обычно он установлен на «Play» и обычно вызывает cdplayer.exe . [5]

Если DVD является DVD с фильмом, Explorer вызывает действие по умолчанию, зарегистрированное для типа файла DVD . DVD с фильмами распознаются по наличию файла \ video_ts \ video_ts.ifo . Действие для DVD также обычно устанавливается на «Play» и обычно вызывает dvdplay.exe .

Тот факт, что проверка аудио-компакт-дисков и DVD-дисков с фильмами выполняется до автозапуска, имеет последствия для отключения автоматического воспроизведения этих типов носителей. Отключение автозапуска через реестр или групповую политику или поиск сообщений QueryCancelAutoPlay в приложении не препятствует автоматическому воспроизведению этих типов мультимедиа при вставке. [6]

Однако можно отключить аудио компакт-диски, отредактировав тип файла для аудио компакт-диска и нажав «Установить по умолчанию». Это удалит действие Play как действие по умолчанию для этого типа файла. В качестве альтернативы, изменение записи (По умолчанию) в разделе HKEY_CLASSES_ROOT \ AudioCD \ Shell на «» (пустая строка) приведет к тому же результату. Действие отключения для DVD с фильмами такое же, с «DVD», используемым вместо «AudioCD».

Соответствующие настройки реестра показаны ниже вместе с их значениями по умолчанию в Windows 98SE:

HKEY_CLASSES_ROOT \ AudioCD \ оболочка (По умолчанию) «Играть»HKEY_CLASSES_ROOT \ AudioCD \ оболочка \ играть (По умолчанию) «& Играть»HKEY_CLASSES_ROOT \ AudioCD \ shell \ play \ команда (По умолчанию) «% SystemRoot% \ cdplayer.exe / play% 1»HKEY_CLASSES_ROOT \ DVD \ оболочка (По умолчанию) «Играть»HKEY_CLASSES_ROOT \ DVD \ оболочка \ играть (По умолчанию) «& Играть»HKEY_CLASSES_ROOT \ DVD \ shell \ play \ команда (По умолчанию) «% SystemRoot% \ system32 \ dvdplay.exe / play% 1»

Тома [ править ]

Автозапуск [ править ]

Если файл с именем autorun.inf существует в корневом каталоге файловой системы, настройки в этом файле могут добавлять к параметрам, представленным пользователю, или влиять на представление содержимого, которое AutoPlay имеет. В Windows XP наличие этого файла может повлиять на ход процесса - AutoRun может приступить к выполнению приложения напрямую, без вмешательства пользователя. В Windows Vista автозапуск не может таким образом обойти автозапуск; он может только добавлять опции, представленные пользователю. В разделе « Обработка Inf» статьи AutoRun подробно описывается, когда и когда запускается AutoPlay.

Слой AutoRun первоначально обращается к значениям реестра Windows, чтобы решить, следует ли инициировать действия для любого конкретного диска или типа диска. Если автозапуск был отключен для вновь обнаруженного тома, то процесс останавливается на этом этапе, фактически отключая автозапуск для этого тома.

Анализ содержания [ править ]

После завершения автозапуска запускается автозапуск, выполняя проверку содержимого тома. Это называется анализом содержимого . AutoPlay определяет, является ли том аудио-компакт-диском, DVD-диском с фильмом, чистым записываемым носителем (CD-R, CD-RW, DVD + R и т. Д.) Или общим томом, содержащим файлы.

В случае универсального тома AutoPlay начинается с корневого каталога и выполняет поиск в файловой системе на четыре уровня каталогов ниже корневого каталога, чтобы найти типы файлов, которые попадают в определенные категории или «типы содержимого».

Если этот поиск занимает больше секунды или около того, в диалоговом окне отображается, что идет процесс сканирования. Этот диалог можно легко спутать с операцией копирования в Проводнике; однако файлы не копируются или не перемещаются.

Типы контента [ править ]

Что касается сниффинга AutoPlay, файлы делятся на три основные категории или «типы содержимого». Файлы вне этих категорий не представляют интереса:

Контент считается «смешанным контентом», если файлы попадают в более чем одну из трех категорий.

Контент считается неизвестным, если процесс анализа контента не находит контента, который можно категоризировать. Это не означает, что файлы отсутствуют, просто отсутствуют файлы, относящиеся к одному или нескольким из трех вышеупомянутых типов содержимого. В этом случае AutoPlay открывает окно проводника в корневом каталоге носителя, и на этом процесс завершается.

PerceivedType [ править ]

Чтобы классифицировать файлы по трем типам содержимого, для определения категории используется значение PerceivedType, связанное с различными расширениями файлов. PerceivedType может быть установлен на «изображение», «аудио» или «видео», чтобы классифицировать файлы по типам контента «Изображения», «Музыка» или «Видео» соответственно. Существуют и другие типы PerceivedTypes, известные Windows (текстовые, сжатые, системные и прикладные), но они не имеют отношения к автозапуску.

Вся информация о типах файлов хранится в реестре под HKEY_CLASSES_ROOT. Ниже приводится информация реестра PerceivedType для видеофайлов .avi и музыкальных файлов .mp3:

HKEY_CLASSES_ROOT \ .avi (По умолчанию) "avifile" PerceivedType "видео"HKEY_CLASSES_ROOT \ .mp3 (По умолчанию) «mp3file» PerceivedType "аудио"

EventHandler (том) [ править ]

EventHandler - это заголовок таблицы, которая устанавливает связь между различными обработчиками и инициирующим событием. В случае событий на основе томов обработчики событий генерируются полностью внутри автозапуска без ссылки на реестр.

Обратите внимание, что изучение раздела AutoPlayHandlers реестра Windows обнаруживает ключи ContentTypeSniffers и ContentTypeHandlers . Вне этих клавиш различные подразделы и значения, по-видимому, связаны с автозапуском на основе громкости и даже управляют им. Однако, начиная с Windows XP SP2, эти ключи определены исключительно для будущего использования и не доступны для AutoPlay. [7]

Один из следующих предопределенных обработчиков событий выбирается исключительно на основе решения, которое AutoPlay принимает внутренне после объемного исследования и анализа содержимого:

Не тома [ править ]

Характеристики устройства [ править ]

Поскольку Windows не может выполнять анализ содержимого на устройствах без объема, AutoPlay анализирует эти устройства по их характеристикам, а не по содержимому. Каждое новое обнаруженное устройство имеет идентификационную информацию, обычно хранящуюся в самом устройстве. Эта информация собирается счетчиками и используется для построения строк идентификации, на которые Windows ссылается при доступе к устройству и обращении к нему. Строка идентификации для конкретного устройства называется идентификатором устройства . [9]

Чтобы однозначно идентифицировать каждый экземпляр каждого установленного устройства, Windows присваивает каждому устройству идентификатор экземпляра . Этот идентификатор содержит информацию о местоположении или серийный номер, если он поддерживается.

Объединение идентификатора устройства с идентификатором экземпляра дает строку, которая однозначно идентифицирует отдельное устройство в системе. Это идентификатор экземпляра устройства . Пример строки с устройства PCI:

PCI \ VEN_1274 & DEV_1371 & SUBSYS_8030107B & REV_04 \ 0 & 0E

Когда Windows обнаруживает новое устройство, она сохраняет экземпляры устройств в реестре из следующих источников:

HKLM \ SYSTEM \ CurrentControlSet \ Enum

Диспетчер устройств Windows (расположенный под значком «Система» на панели управления) покажет идентификатор экземпляра устройства для любого конкретного устройства. Получение свойств любого устройства, выбор вкладки «Подробности» в диалоговом окне «Свойства» и выбор «Идентификатор экземпляра устройства» в раскрывающемся списке позволит получить информацию.

Еще одна характеристика каждого устройства - это класс интерфейса устройства . [10] Это определяет контракт интерфейса, в котором устройство соглашается поддерживать базовый набор вызовов управления вводом / выводом, относящихся к этому классу интерфейса устройства. Например, устройство, согласное поддерживать контракт интерфейса клавиатуры, должно, среди прочего, поддерживать вызов IOCTL_KEYBOARD_QUERY_ATTRIBUTES IOCTL. Каждый класс представлен в виде большого универсального уникального номера, называемого GUID .

Устройство может зарегистрировать множество GUID классов интерфейса устройства для себя, заключив контракт на поддержку различных соответствующих вызовов интерфейса. Наиболее распространенным GUID класса интерфейса, относящимся к устройствам хранения, является GUID класса интерфейса устройства тома, {53F5630D-B6BF-11D0-94F2-00A0C91EFB8B }.

GUID класса интерфейса устройства можно найти в реестре в разделе:

HKLM \ SYSTEM \ CurrentControlSet \ Control \ DeviceClasses .

Обработчик устройства [ править ]

Когда анализируется устройство без тома, AutoPlay ищет в нескольких местах реестра запись DeviceHandlers . Это просто строка, которая в сочетании с другой информацией выбирает EventHandler (который помещает в таблицу обработчики). Записи DeviceHandlers обычно помещаются в реестр производителем устройства. Существуют также более широкие категории устройств, для которых предварительно назначены обработчики устройств, например, устройства видеокамеры.

В первую очередь AutoPlay ищет под ключом Device Parameters экземпляра устройства. Например:

USB \ Vid_059b и Pid_0031 и REV_0100

- строка идентификации USB-устройства для USB-накопителя Iomega ZIP. В сочетании с серийным номером USB, например 059B003112010E93 , это формирует идентификатор экземпляра устройства для устройства. Таким образом, ключ параметров устройства находится по адресу:

HKLM \ ... \ Enum \ USB \ Vid_059b & Pid_0031 \ 059B003112010E93 \ Параметры устройства Иконки "" NoMediaIcons "" Этикетка "" Обработчики устройств "ZipDeviceHandler"

Значение DeviceHandlers в этом случае - «ZipDeviceHandler». Здесь также могут присутствовать другие параметры устройства: значки могут указывать значок для представления устройства вместе с NoMediaIcons для представления устройства, когда на нем нет носителя. Метка определяет понятное имя для устройства.

Если в экземпляре устройства не найдена запись DeviceHandlers, AutoPlay проверяет наличие записи DeviceGroup снова в экземпляре устройства. Это позволяет целому набору устройств совместно использовать параметры устройства.

HKLM \ ... \ Enum \ USB \ Vid_059b & Pid_0031 \ 059B003112010E93 \ Параметры устройства Группа устройств "ZipDrive100"

Параметры этой группы устройств хранятся в:

HKLM \ ... \ AutoPlayHandlers \ DeviceGroups \ devicegroup

Итак, для примера группы ZipDrive100:

HKLM \ ... \ AutoPlayHandlers \ DeviceGroups \ ZipDrive100 Иконки "% SystemRoot% \ system32 \ shell32.dll, -230 \ 0 \ 0" Этикетка «Zip Drive 100» Обработчики устройств "ZipDeviceHandler"

Наконец, AutoPlay выполняет поиск соответствующих GUID классов интерфейса устройства. Параметры классов устройств хранятся в:

HKLM \ ... \ AutoPlayHandlers \ DeviceClasses \ {classguid}

Вот запись, которую приложение Microsoft Movie Maker регистрирует для всех без исключения видеокамер:

HKLM \ ... \ AutoPlayHandlers \ DeviceClasses \ {CC7BFB41-F175-11D1-A392-00E0291F3959} DeviceHandlers "VideoCameraDeviceHandler" Ярлык "@C: \ Program Files \ Movie Maker \ wmm2res.dll, -63094". Иконки "C: \ WINDOWS \ system32 \ shell32.dll, -317 \ 0 \ 0"

См. Также [ править ]

  • Автозапуск
Программное обеспечение, обеспечивающее аналогичные функции в других средах
  • gnome-volume-manager в GNOME
  • Thunar (с использованием плагина thunar-volman [11] ) в Xfce

Ссылки [ править ]

  1. ^ «Использование аппаратного автозапуска» . Microsoft, MSDN . Проверено 20 ноября 2019 .
  2. ^ a b «Использование и настройка автозапуска» . Microsoft, MSDN . Проверено 20 ноября 2019 .
  3. ^ «Автозапуск в Windows XP» . Microsoft, журнал MSDN. Ноября 2001 . Проверено 20 ноября 2019 .
  4. ^ Как отключить функцию, которая позволяет автоматически запускать компакт-диски и аудио компакт-диски , Microsoft, База знаний
  5. ^ Как настроить программу, используемую для воспроизведения аудио компакт-дисков , Microsoft, База знаний
  6. ^ Как отключить автозапуск (W95) , Microsoft, База знаний
  7. ^ Обработчики типов контекста , Usenet, microsoft.public.platformsdk.shell
  8. ^ Безопасность Часы ОСТРОВАМ: Инфекционное Очарование Vendor Swag , TechNet Magazine
  9. ^ Строки идентификации устройства , Microsoft, MSDN
  10. ^ Классы интерфейса устройства , Microsoft, MSDN
  11. ^ "проекты: thunar-plugins: thunar-volman [Xfce Goodies]" . goodies.xfce.org .

Внешние ссылки [ править ]

  • Автозапуск в Windows XP , MSDN Magazine, ноябрь 2001 г.
  • Реализуйте обработчик автозапуска , CodeProject