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


Интерфейс IResourceManager (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Интерфейс IResourceManager разрешает состязания за системные ресурсы.

Диспетчер графов фильтров предоставляет этот интерфейс. Фильтры могут использовать этот интерфейс для запроса ресурсов, которые, скорее всего, будут использовать другие объекты. Например, отрисовщики звука используют этот интерфейс для разрешения конфликтов на устройстве вывода волн, чтобы звук мог следовать фокусу.

Приложения обычно не используют этот интерфейс.

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

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

Наследование

Интерфейс IResourceManager наследуется от интерфейса IUnknown . IResourceManager также имеет следующие типы членов:

Методы

Интерфейс IResourceManager содержит следующие методы.

 
IResourceManager::CancelRequest

Метод CancelRequest отменяет запрос на ресурс.
IResourceManager::NotifyAcquire

Метод NotifyAcquire уведомляет диспетчер ресурсов о завершении попытки получения ресурса.
IResourceManager::NotifyRelease

Метод NotifyRelease уведомляет диспетчер ресурсов о том, что IResourceConsumer выпустил ресурс.
IResourceManager::Register

Метод Register регистрирует один именованный ресурс в диспетчере ресурсов.
IResourceManager::RegisterGroup

Метод RegisterGroup регистрирует именованную группу ресурсов в диспетчере ресурсов.
IResourceManager::ReleaseFocus

Метод ReleaseFocus присваивает объекту фокуса значение NULL в диспетчере ресурсов, если текущий объект фокуса указан в этом методе.
IResourceManager::RequestResource

Метод RequestResource запрашивает использование заданного зарегистрированного ресурса.
IResourceManager::SetFocus

Метод SetFocus уведомляет диспетчер ресурсов о том, что указанный объект получил фокус пользователя.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)