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


Закрепление набора свойств

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

Набор свойств pin возвращает категорию контактов для закрепления в фильтре. Категория задается фильтром при создании контакта; категория указывает, какой тип данных доставляется или получает этот контакт.

Метка Значение
Идентификатор GUID набора свойств AMPROPSETID_Pin

 

Идентификатор свойства Описание
AMPROPERTY_PIN_CATEGORY Указывает категорию контакта.

 

DirectShow определяет следующие категории контактов в файле заголовка Uuids.h.

GUID категории Описание
PIN_CATEGORY_ANALOGVIDEOIN Входной контакт фильтра захвата, который принимает аналог и оцифровывает его.
PIN_CATEGORY_CAPTURE Закрепление захвата.
PIN_CATEGORY_CC Закрепление, предоставляющее данные скрытых субтитров из строки 21.
PIN_CATEGORY_EDS Закрепление, предоставляющее расширенные службы данных (строка 21, четные поля).
PIN_CATEGORY_NABTS Закрепление, предоставляющее стандартные данные видеотекста Северной Америки.
PIN_CATEGORY_PREVIEW Предварительный просмотр закрепления.
PIN_CATEGORY_STILL Закрепление, предоставляющее неподвижное изображение. Контакт отслеживания фильтра должен быть подключен перед подключением контакта с неподвижным изображением.
PIN_CATEGORY_TELETEXT Закрепление, предоставляющее телетекст (вариант скрытых субтитров).
PIN_CATEGORY_TIMECODE Пин-код, предоставляющий данные кода времени.
PIN_CATEGORY_VBI Закрепление, предоставляющее данные интервала пробелов по вертикали.
PIN_CATEGORY_VIDEOPORT Вывод видео для подключения к нулю входного контакта на микшере наложения.
PIN_CATEGORY_VIDEOPORT_VBI Закрепление для подключения к VBI Surface Allocator, фильтру распределителя поверхности VBI, который необходим для выделения правильной видеопамяти для таких элементов, как наложения скрытых субтитров в сценариях, где используется видеопорт. В сценариях PCI, IEEE 1394 и USB этот фильтр не используется.
PINNAME_VIDEO_CC_CAPTURE Аппаратные срезы с закрытыми субтитрами

 

Это свойство доступно только для чтения.

Пример кода

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

HRESULT GetPinCategory(IPin *pPin, GUID *pPinCategory)
{
    IKsPropertySet *pKs = NULL;

    HRESULT hr = pPin->QueryInterface(IID_PPV_ARGS(&pKs));
    if (FAILED(hr))
    {
        return hr;
    }

    // Try to retrieve the pin category.
    DWORD cbReturned = 0;
    hr = pKs->Get(AMPROPSETID_Pin, AMPROPERTY_PIN_CATEGORY, NULL, 0, 
        pPinCategory, sizeof(GUID), &cbReturned);
    
    // If this succeeded, pPinCategory now contains the category GUID.

    SafeRelease(&pKs);
    return hr;
}

Примечание

В этом примере функция SafeRelease используется для освобождения указателей интерфейса.

 

Требования к закреплению для фильтров записи

Наборы свойств

Работа с категориями закрепления