stringtranslate.com

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

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

Обзор

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

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

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

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

Вкладка «Автозапуск» с диалоговым окном свойств DVD-привода в Windows XP

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

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

Смешанное содержание

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

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

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

Необъемные устройства

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

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

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

Значок автозапуска на панели задач для негромкого устройства или цифровой камеры.

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

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

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

Windows 95 и Windows 98

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

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

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

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

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

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

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

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

HKEY_CLASSES_ROOT\AudioCD\shell (По умолчанию) «Воспроизвести»HKEY_CLASSES_ROOT\AudioCD\shell\play (По умолчанию) "&Воспроизвести"HKEY_CLASSES_ROOT\AudioCD\shell\play\command (По умолчанию) "%SystemRoot%\cdplayer.exe /play %1"HKEY_CLASSES_ROOT\DVD\shell (По умолчанию) «Воспроизвести»HKEY_CLASSES_ROOT\DVD\shell\play (По умолчанию) "&Воспроизвести"HKEY_CLASSES_ROOT\DVD\shell\play\command (По умолчанию) "%SystemRoot%\system32\dvdplay.exe /play %1"

Объемы

Автозапуск

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

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

Анализ содержимого

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

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

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

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

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

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

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

ВоспринимаемыйТип

Для классификации файлов по трем типам контента используется значение PerceivedType , связанное с различными расширениями файлов, для определения категории. PerceivedType может быть установлен на "image", "audio" или "video" для классификации файлов по типам контента Pictures, Music или Video соответственно. Существуют и другие PerceivedType, известные Windows (текст, сжатый, системный и прикладной), но они не имеют отношения к AutoPlay.

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

HKEY_CLASSES_ROOT\.avi (По умолчанию) "avifile" ВоспринимаемыйТип "видео"HKEY_CLASSES_ROOT\.mp3 (По умолчанию) "mp3file" ВоспринимаемыйТип "аудио"

EventHandler (объем)

EventHandler — это заголовок таблицы, которая устанавливает связь между различными Handlers и запускающим Event. В случае событий, основанных на объеме, EventHandlers генерируются полностью внутри AutoPlay без ссылки на Registry.

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

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

Необъемы

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

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

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

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

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

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

HKLM\SYSTEM\CurrentControlSet\Enum

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

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

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

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

HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses .

Обработчик устройств

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

Первое место, куда смотрит AutoPlay, находится в разделе Device Parameters экземпляра устройства. Например:

USB\Vid_059b&Pid_0031&REV_0100

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

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

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

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

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

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

HKLM\...\AutoPlayHandlers\DeviceGroups\ группа устройств

Итак, для примера группы 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"

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

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

Ссылки

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

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