Закрепление набора свойств
[Функция, связанная с этой страницей 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 используется для освобождения указателей интерфейса.
Связанные темы