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


Метод IAsyncReader::BeginFlush (strmif.h)

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

Метод BeginFlush начинает операцию очистки.

Синтаксис

HRESULT BeginFlush();

Возвращаемое значение

Возвращает S_OK в случае успешного выполнения или S_FALSE в противном случае.

Комментарии

Этот метод прерывает все ожидающие запросы на чтение. Во время очистки контакта метод IAsyncReader::Request завершается сбоем, а метод IAsyncReader::WaitForNext возвращается немедленно, возможно, с кодом возврата VFW_E_TIMEOUT.

Нисходящий входной контакт должен вызывать этот метод всякий раз, когда подчиненный фильтр очищает граф фильтра. После вызова этого метода вызывайте метод WaitForNext , пока он не вернет значение NULL в параметре ppSample , чтобы очистить очередь ожидающих выборок. Игнорируйте коды ошибок и отпустите каждый пример. Затем вызовите метод IAsyncReader::EndFlush , чтобы завершить операцию очистки.

Дополнительные сведения см. в разделе Очистка.

Примеры

В следующем примере показано, как подчиненный входной контакт должен вызывать этот метод:

C++
m_pReader->BeginFlush(); 
while (1) {
    IMediaSample *pSample;
    DWORD_PTR dwUnused;
    m_pReader->WaitForNext(0, &pSample, &dwUnused);
    if(pSample) { 
        pSample->Release();  
    } 
    else {  // No more samples.
        break;
    }
}
m_pReader->EndFlush();

Требования

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

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

Коды ошибок и успешности

Интерфейс IAsyncReader