Метод CSourceSeeking.CheckCapabilities
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод CheckCapabilities
запрашивает, заданы ли в потоке возможности поиска. Этот метод реализует метод IMediaSeeking::CheckCapabilities .
Синтаксис
HRESULT CheckCapabilities(
DWORD *pCapabilities
);
Параметры
-
pCapabilities
-
Указатель на побитовую комбинацию одного или нескольких атрибутов AM_SEEKING_SEEKING_CAPABILITIES .
Возвращаемое значение
Возвращает одно из значений HRESULT , перечисленных в следующей таблице.
Код возврата | Описание |
---|---|
|
Не все возможности в pCapabilities присутствуют. |
|
Все возможности в pCapabilities присутствуют. |
|
Аргумент указателя NULL. |
Комментарии
По мере реализации этот метод проверяет значение *pCapabilities по переменной-члену CSourceSeeking::m_dwSeekingCaps . Однако он не задает значение *pCapabilitiesравным m_dwSeekingCaps, как описано для метода IMediaSeeking::CheckCapabilities . Кроме того, в случае, когда ни одна из указанных возможностей не доступна, метод не возвращает E_FAIL. Более полной реализацией будет следующее:
STDMETHODIMP CheckCapabilities(DWORD *pCapabilities)
{
CheckPointer(pCapabilities, E_POINTER)
;
DWORD dwCaps;
HRESULT hr = GetCapabilities(&dwCaps);
if (SUCCEEDED(hr))
{
dwCaps &= *pCapabilities;
if (dwCaps)
{
hr = (dwCaps == *pCapabilities ? S_OK : S_FALSE );
}
else
{
hr = E_FAIL;
}
*pCapabilities = dwCaps;
}
else
{
*pCapabilities = 0;
}
return hr;
}
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|