функция обратного вызова 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 |