Определение поддержки VidPN в адаптере дисплея

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

VidPN работает , если он удовлетворяет следующим условиям:

  • Он имеет топологию, которая имеет по крайней мере один путь. (Путь — это связь между источником и целевым объектом.)

  • Каждый источник и целевой объект в топологии имеет закрепленный режим.

VidPN поддерживается на адаптере дисплея , если выполняется одно из следующих условий:

  • Она функциональна и может быть реализована на адаптере дисплея. То есть кодеки вывода видео на адаптере дисплея можно настроить для поддержки топологии и закрепленных режимов, заданных VidPN.

  • Он имеет топологию по крайней мере с одним путем и может быть расширен до функционального VidPN, который можно реализовать на видеоадапте. То есть можно было бы, не изменяя режимы, которые уже закреплены, закреплять режимы на всех представленных видео источниках и целевых объектах, которые еще не имеют закрепленных режимов. Кроме того, можно реализовать результирующий функциональный VidPN на адаптере дисплея.

  • Он имеет пустую топологию. Идея заключается в том, что на адаптере дисплея не поддерживается ничего.

Частью определения того, поддерживается ли VidPN, является определение допустимости топологии VidPN. Другими словами, можно ли подключить источники видеоданных к целевым объектам представления видео, как указано в топологии? Обратите внимание, что не обязательно, чтобы все целевые объекты видео, представленные в топологии, имели подключенные мониторы. Топология может быть допустимой, и VidPN может поддерживаться, даже если нет подключенных мониторов.

Время от времени диспетчер VidPN вызывает DxgkDdiIsSupportedVidPn , чтобы узнать, поддерживается ли определенный VidPN на адаптере дисплея. Одним из аргументов, передаваемых в DxgkDdiIsSupportedVidPn , является дескриптор объекта VidPN с именем требуемого объекта VidPN. DxgkDdiIsSupportedVidPn должен проверить топологию требуемого VidPN и заметить, какие источники видео и целевые объекты в требуемом VidPN уже имеют закрепленные режимы. Затем он должен вернуть логическое значение, указывающее, поддерживается ли нужный VidPN (в соответствии с определением, приведенным ранее в этом разделе). Сведения об проверке топологии, наборов исходного режима и наборов целевых режимов VidPN см. в разделе Объекты и интерфейсы VidPN.