Интерфейс 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) |