Автовоспроизведение - AutoPlay


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

Обзор

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

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

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

Свойства автозапуска

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

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

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

Смешанный контент

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

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

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

Устройства без объема

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

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

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

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

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

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

Содержание Действие Провайдер
Музыкальные файлы Играть Проигрыватель Windows Media
Открыть папку для просмотра файлов проводник Виндоус
Фотографий Скопируйте изображения в папку на моем компьютере Мастер сканера и камеры Microsoft
Просмотр слайд-шоу изображений Программа просмотра изображений и факсов Windows
Распечатать картинки Мастер печати фотографий
Открыть папку для просмотра файлов проводник Виндоус
Видео файлы Играть Проигрыватель Windows Media
Открыть папку для просмотра файлов проводник Виндоус
Смешанный контент Открыть папку для просмотра файлов проводник Виндоус
Музыкальный компакт-диск Копировать музыку с компакт-диска Проигрыватель Windows Media
Воспроизвести аудио компакт-диск Проигрыватель Windows Media
Открыть папку для просмотра файлов проводник Виндоус
DVD фильм Воспроизвести DVD фильм Проигрыватель Windows Media
Открыть папку для просмотра файлов проводник Виндоус

Windows 95 и Windows 98

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

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

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

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

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

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

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

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

HKEY_CLASSES_ROOT\AudioCD\shell
    (Default)    "Play"

HKEY_CLASSES_ROOT\AudioCD\shell\play
    (Default)    "&Play"

HKEY_CLASSES_ROOT\AudioCD\shell\play\command
    (Default)    "%SystemRoot%\cdplayer.exe /play %1"

HKEY_CLASSES_ROOT\DVD\shell
    (Default)    "Play"

HKEY_CLASSES_ROOT\DVD\shell\play
    (Default)    "&Play"

HKEY_CLASSES_ROOT\DVD\shell\play\command
    (Default)    "%SystemRoot%\system32\dvdplay.exe /play %1"

Объемы

Автозапуск

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

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

Обнюхивание контента

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

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

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

Типы контента

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

Фотографий .jpg .gif .bmp .png ...
Музыка .mp3 .wav .wma ...
видео .avi .mpg ...

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

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

PerceivedType

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

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

HKEY_CLASSES_ROOT\.avi
    (Default)        "avifile"
    PerceivedType    "video"

HKEY_CLASSES_ROOT\.mp3
    (Default)        "mp3file"
    PerceivedType    "audio"

EventHandler (объем)

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

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

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

Тип медиа или контента Обработчик события
Фотографий ShowPicturesOnArrival
Музыкальные файлы PlayMusicFilesOnArrival
Видео файлы PlayVideoFilesOnArrival
Смешанный контент MixedContentOnArrival
Чистый CD-R / CD-RW Обработка CDBurningOnArrival
Музыкальный компакт-диск ВоспроизвестиCDAudioOnArrival
DVD фильм ИгратьDVDMovieOnArrival
Добавлено в Windows Vista
Фильмы Super VideoCD PlaySuperVideoCDMovieOnArrival
Видео CD PlayVideoCDMovieOnArrival
Autorun.inf указывает исполняемый файл АвтозапускINFLegacyArrival

Не тома

Характеристики устройства

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

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

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

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

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

HKLM \ SYSTEM \ CurrentControlSet \ Enum

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

Еще одна характеристика каждого устройства - это класс интерфейса устройства . Это определяет контракт интерфейса, в котором устройство соглашается поддерживать базовый набор вызовов управления вводом / выводом, относящихся к этому классу интерфейса устройства. Например, устройство, согласное поддерживать контракт интерфейса клавиатуры, должно, среди прочего, поддерживать вызов 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\Device Parameters
    Icons             ""
    NoMediaIcons      ""
    Label             ""
    DeviceHandlers    "ZipDeviceHandler"

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

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

HKLM\...\Enum\USB\Vid_059b&Pid_0031\059B003112010E93\Device Parameters
    DeviceGroup    "ZipDrive100"

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

HKLM \ ... \ AutoPlayHandlers \ DeviceGroups \ devicegroup

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

HKLM\...\AutoPlayHandlers\DeviceGroups\ZipDrive100
    Icons             "%SystemRoot%\system32\shell32.dll,-230\0\0"
    Label             "Zip Drive 100"
    DeviceHandlers    "ZipDeviceHandler"

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

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

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

HKLM\...\AutoPlayHandlers\DeviceClasses\{CC7BFB41-F175-11D1-A392-00E0291F3959}
    DeviceHandlers    "VideoCameraDeviceHandler"
    Label             "@C:\Program Files\Movie Maker\wmm2res.dll,-63094"
    Icons             "C:\WINDOWS\system32\shell32.dll,-317\0\0"

Смотрите также

Программное обеспечение, обеспечивающее аналогичные функции в других средах

использованная литература

внешние ссылки