Метод IResourceManager::RequestResource (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод RequestResource
запрашивает использование заданного зарегистрированного ресурса.
Синтаксис
HRESULT RequestResource(
[in] LONG idResource,
[in] IUnknown *pFocusObject,
[in] IResourceConsumer *pConsumer
);
Параметры
[in] idResource
Маркер ресурса, полученный при регистрации ресурса.
[in] pFocusObject
Указатель на интерфейс IUnknown объекта фокуса , связанного с запросом (обычно это интерфейс IUnknown фильтра).
[in] pConsumer
Указатель на интерфейс IResourceConsumer для объекта, запрашивающего ресурс.
Возвращаемое значение
Возвращает значение HRESULT . Возвращает S_OK, если запрошенный ресурс возвращается, или S_FALSE, если ресурс недоступен. В этом случае диспетчер ресурсов вызовет запрашивающий объект, когда ресурс становится доступным. Любое другое возвращаемое значение является ошибкой.
Комментарии
При наличии нескольких запросов к ресурсу диспетчер ресурсов определяет приоритет, используя объект фокуса, переданный с каждым запросом, и сравнивая его с объектом фокуса, переданным в последнем методе IResourceManager::SetFocus .
Запросы будут заполнены в следующем порядке приоритета:
- Запросы, выполненные с тем же объектом фокуса, что и последний метод SetFocus .
- Запросы, объект фокуса которых использует общий фильтр источника, объект фокуса которого использует общий граф фильтра.
- Запросы выполняются в том же процессе, что и фокус.
Фильтр должен передавать интерфейс IUnknown фильтра в параметре pFocusObject . Диспетчер графа фильтров сопоставляет фильтры с графом фильтров и попытается отследить фильтры до общих исходных фильтров при проверке объектов фокуса.
Объект фокуса должен быть действительным в течение всего времени существования запроса— до вызова метода IResourceManager::CancelRequest или метода IResourceManager::NotifyRelease с параметром bStillWant , равным FALSE.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |