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


Метод CSourceStream.QueryId

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

Метод QueryId извлекает идентификатор для закрепления.

Синтаксис

HRESULT QueryId(
   LPWSTR *Id
);

Параметры

Id

Указатель на переменную, которая получает строку, содержащую идентификатор закрепления.

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

Возвращает значение HRESULT . Возможные значения включают значения, показанные в следующей таблице.

Код возврата Описание
S_OK
Успешно.
E_OUTOFMEMORY
Недостаточно памяти.
E_POINTER
Аргумент указателя NULL.
VFW_E_NOT_FOUND
Закрепление не найдено в фильтре.

Комментарии

Этот метод реализует метод IPin::QueryId . Чтобы создать строку идентификатора, закрепление вызывает метод CSource::FindPinNumber с самим собой в качестве параметра . Метод FindPinNumber возвращает номер закрепления, индексированные с нуля. QueryId увеличивает возвращаемое значение на единицу и преобразует результат в строку. Например, первый контакт становится "1"; второй контакт становится "2"; и так далее.

Если этот метод возвращает VFW_E_NOT_FOUND, он указывает, что массив контактов фильтра является недопустимым, предположительно вызванным ошибкой в фильтре.

Требования

Требование Значение
Заголовок
Source.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CSourceStream