Поделиться через


Флаги сопоставителя источника

Определяет поведение сопоставителя источника. Эти флаги также используются обработчиками схем и обработчиками потока байтов.

Констант/значение Описание
MF_RESOLUTION_MEDIASOURCE
0x00000001
Попытка создать источник мультимедиа.
MF_RESOLUTION_BYTESTREAM
0x00000002
Попытка создать поток байтов.
MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE
0x00000010
Если разрешение исходного кода завершается сбоем с использованием обработчика потока байтов, зарегистрированного для типа MIME или расширения имени файла, сопоставитель источника выполняет перечисление через все зарегистрированные обработчики потока байтов.
Обработчики потока байтов регистрируются по расширению имени файла или типу MIME. Изначально сопоставитель источника пытается использовать обработчик, соответствующий расширению имени файла или типу MIME. Если это не удается, то по умолчанию полное разрешение источника завершается сбоем, и сопоставитель источника возвращает приложению код ошибки. Однако если этот флаг указан, сопоставитель источника продолжает перечислять все зарегистрированные обработчики потока байтов. Возможно, неправильно сопоставленный обработчик может успешно создать источник мультимедиа.
Этот флаг нельзя сочетать с флагом MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL. Дополнительные сведения см. в разделе "Примечания".
MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL
0x00000020
Если исходное разрешение завершается сбоем, сопоставитель источника не закрывает поток байтов. По умолчанию сопоставитель источника закрывает поток байтов при сбое.
Если этот флаг используется и исходное разрешение завершается сбоем, вызывающий объект должен снова вызвать метод и установить флаг MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE.
Этот флаг нельзя сочетать с флагом MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Дополнительные сведения см. в разделе "Примечания".
MF_RESOLUTION_READ
0x00010000
Запрашивает доступ на чтение к источнику.
MF_RESOLUTION_WRITE
0x00020000
Запрашивает доступ на запись к источнику.
MF_RESOLUTION_DISABLE_LOCAL_PLUGINS
0x00000040
Сопоставитель источника не будет использовать подключаемые модули локально зарегистрированной схемы или обработчика байтов.
Требуется Windows 8.

Комментарии

Приложение устанавливает эти флаги при использовании интерфейса IMFSourceResolver . Сопоставитель источника передает те же флаги методам IMFByteStreamHandler::BeginCreateObject и IMFSchemeHandler::BeginCreateObject .

Необходимо указать один из флагов MF_RESOLUTION_MEDIASOURCE или MF_RESOLUTION_BYTESTREAM. Остальные флаги являются необязательными.

Флаг MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL определен для следующего сценария:

  1. Приложение пытается открыть исходный код по сети. Приложение устанавливает флаг MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL.

  2. URL-адрес источника содержит неправильное расширение имени файла. Так как расширение имени файла неправильно, обработчик байтового потока по умолчанию не может создать источник мультимедиа. Так как приложение устанавливает флаг MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL, сопоставитель источника кэширует поток байтов.

  3. Сопоставитель источника возвращает приложению код ошибки.

  4. Клиент снова открывает источник, на этот раз устанавливая флаг MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE. Этот флаг заставляет сопоставитель источника попробовать все зарегистрированные обработчики, а не просто обработчик по умолчанию. Так как поток байтов был кэширован, сопоставитель источника не должен снова открывать поток байтов.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Mfidl.h

См. также раздел

Константы Media Foundation

IMFByteStreamHandler

IMFSchemeHandler

IMFSourceResolver

Сопоставитель источника