функция обратного вызова DXGKDDI_VIDPNTOPOLOGY_ENUMPATHTARGETSFROMSOURCE (d3dkmddi.h)

Функция pfnEnumPathTargetsFromSource возвращает идентификатор одного из целевых объектов представления видео, связанных с указанным источником представления видео.

Синтаксис

DXGKDDI_VIDPNTOPOLOGY_ENUMPATHTARGETSFROMSOURCE DxgkddiVidpntopologyEnumpathtargetsfromsource;

NTSTATUS DxgkddiVidpntopologyEnumpathtargetsfromsource(
  [in]  IN_CONST_D3DKMDT_HVIDPNTOPOLOGY hVidPnTopology,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [in]  IN_CONST_D3DKMDT_VIDPN_PRESENT_PATH_INDEX VidPnPresentPathIndex,
  [out] OUT_PD3DDDI_VIDEO_PRESENT_TARGET_ID pVidPnTargetId
)
{...}

Параметры

[in] hVidPnTopology

Дескриптор объекта топологии VidPN. Драйвер мини-порта дисплея ранее получил этот дескриптор, вызвав функцию pfnGetTopology интерфейса DXGK_VIDPN_INTERFACE .

[in] VidPnSourceId

Целое число, идентифицирующее конкретный источник видео.

[in] VidPnPresentPathIndex

Отсчитываемый от нуля индекс в наборе путей, содержащих источник, определенный VidPnSourceId.

[out] pVidPnTargetId

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

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

Функция pfnEnumPathTargetsFromSource возвращает одно из следующих значений:

Код возврата Описание
STATUS_SUCCESS Функция выполнена успешно.
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY Дескриптор, предоставленный в hVidPnTopology, был недопустимым.
STATUS_INVALID_PARAMETER Указатель, указанный в pVidPnTargetId, был допустимым.

Комментарии

VidPnPresentPathIndex не является индексом в наборе всех путей в топологии, определяемой hVidPnTopology. Это индекс в подмножестве всех путей в топологии, в частности, подмножество всех путей, содержащих источник, определенный VidPnSourceId.

Чтобы перечислить (в заданной топологии) все целевые объекты, связанные с определенным источником, выполните следующие действия.

Вызовите pfnGetNumPathsFromSource , чтобы определить число N путей, содержащих интересующий источник. Думайте о этих путях как об индексированных наборах с индексами 0, 1, ... N - 1.

Для каждого индекса от 0 до N – 1 передайте идентификатор источника и индекс в pfnEnumPathTargetsFromSource.

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

Идентификаторы источника VidPN назначаются операционной системой. DxgkDdiStartDevice, реализованный драйвером мини-порта дисплея, возвращает число N источников видеотрансляции, поддерживаемых видеоадаптером. Затем операционная система назначает идентификаторы 0, 1, 2, ... N - 1.

Целевые идентификаторы VidPN назначаются драйвером мини-порта дисплея. DxgkDdiQueryChildRelations, реализованный драйвером мини-порта дисплея, возвращает массив DXGK_CHILD_DESCRIPTOR структур, каждая из которых содержит идентификатор.

Типы данных D3DKMDT_HVIDPNTOPOLOGY и D3DKMDT_VIDPN_PRESENT_PATH_INDEX определены в D3dkmdt.h.

Типы данных D3DDDI_VIDEO_PRESENT_SOURCE_ID и D3DDDI_VIDEO_PRESENT_TARGET_ID определены в D3dukmdt.h.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Персональный компьютер
Верхняя часть d3dkmddi.h (включая D3dkmddi.h)
IRQL PASSIVE_LEVEL

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

pfnGetNumPathsFromSource

pfnGetPathSourceFromTarget