Метод IQueryCancelAutoPlay::AllowAutoPlay (shobjidl.h)
Определяет, следует ли воспроизводить мультимедиа, вставленный пользователем, и если да, с помощью каких ограничений.
HRESULT AllowAutoPlay(
[in] LPCWSTR pszPath,
[in] DWORD dwContentType,
[in] LPCWSTR pszLabel,
[in] DWORD dwSerialNumber
);
[in] pszPath
Тип: LPCWSTR
Буква диска в формате D:\
[in] dwContentType
Тип: DWORD
Тип содержимого, указанный в следующих флагах.
Используйте файл Autorun.inf. Это традиционное поведение автозапуска.
Автоматический запуск звуковых компакт-файлов.
Автоматический запуск DVD-дисков.
Автозапуск пустых CD-Rs и CD-RW.
Автозапуск пустых DVD-Rs и DVD-RAM.
Автозапуск, если носитель отформатирован и содержимое не подпадает под тип, на который распространяется один из других флагов.
Автозапуск, если содержимое состоит из типов файлов, определенных как изображения, например .bmp и .jpg файлов.
Автозапуск, если содержимое состоит из типов файлов, определенных как музыка, таких как MP3-файлы.
Автозапуск, если содержимое состоит из типов файлов, определенных как видеофайлы.
Представлено в Windows Vista. Автозапуск видео компакт-дисков (VCD).
Представлено в Windows Vista. Автозапуск мультимедиа Super Video CD (SVCD).
Представлено в Windows Vista. Автозапуск DVD-Audio мультимедиа.
Автозапуск пустого записываемого DVD-носителя высокого разрешения в формате Blu-ray (™ BD-R или BD-RW). Примечание. До Windows 7 это значение было определено для указания нефиксируемых носителей в формате HD DVD.
Представлено в Windows Vista. Автозапуск DVD-носителя высокого разрешения в формате Blu-ray Disc™.
Представлено в Windows 8.
Представлено в Windows 8.
Представлено в Windows Vista. Автовоспроизведение пустого, но форматированного носителя.
Представлено в Windows Vista. Маска, обозначающая допустимые значения флага ARCONTENT для типов мультимедиа. Эта маска не содержит ARCONTENT_PHASE значений.
Представлено в Windows Vista. Автозапуск выполняет поиск мультимедиа. Этап поиска (presniff, sniffing или окончательный) неизвестен.
Представлено в Windows Vista. Содержимое носителя известно перед поиском в связи с типом носителя; например, звуковые компакт-диски и DVD-фильмы.
Представлено в Windows Vista. Автозапуск в настоящее время выполняет поиск по носителю. Все результаты, полученные на этом этапе, должны рассматриваться как частичный список, так как все еще могут быть найдены другие типы контента.
Представлено в Windows Vista. Автозапуск завершил поиск по носителю. Сообщаемые результаты являются окончательными.
Представлено в Windows Vista. Маска, обозначающая допустимые значения ARCONTENT_PHASE.
[in] pszLabel
Тип: LPCWSTR
Метка носителя.
[in] dwSerialNumber
Тип: DWORD
Серийный номер носителя.
Тип: HRESULT
Возвращает S_OK, чтобы разрешить автозапуск или S_FALSE отменить автозапуск.
Приложения регистрируют экземпляр интерфейса IQueryCancelAutoPlay в таблице выполняющихся объектов (ROT). Перед запуском автозапуска или автозапуска оболочка, когда пользователь вставляет новый носитель, она проверяет rot на наличие компонента, реализуя IQueryCancelAutoPlay. Если он найден, оболочка вызывает метод IQueryCancelAutoPlay::AllowAutoPlay этой реализации, чтобы определить, следует ли продолжить и какие ограничения.
При представлении носителя оболочка ищет в ROT компонент, реализующий IQueryCancelAutoPlay. Если он найден, извлекается идентификатор класса (CLSID) моникера этого компонента. Наличие регистрации ROT сообщает оболочке о том, что компоненту может потребоваться отменить автозапуск или автозапуск. Для подтверждения оболочка также должна найти раздел реестра для того же идентификатора CLSID в следующем расположении:
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows Current Version Explorer AutoplayHandlers CancelAutoplay CLSID The component's CLSIDЭто значение добавляется приложением или оборудованием, обычно во время установки. Ему не присваивается значение данных.
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl.h |
DLL | Shell32.dll |