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


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

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

Метод Length извлекает общую длину потока.

Синтаксис

HRESULT Length(
  LONGLONG *pTotal,
  LONGLONG *pAvailable
);

Параметры

pTotal

Указатель на переменную, которая получает длину потока в байтах.

pAvailable

Указатель на переменную, которая получает доступную в данный момент часть потока в байтах.

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

Возвращает значение HRESULT . Ниже приведены возможные значения.

Код возврата Описание
S_OK
Успешно.
VFW_S_ESTIMATED
Возвращаемые значения — это оценки; например, если файл считывается по сети.
E_UNEXPECTED
Файл не открыт или больше не существует.

Комментарии

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

Требования

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

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

Коды ошибок и успешного выполнения

Интерфейс IAsyncReader