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


функция обратного вызова 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, чтобы определить число путей, содержащих источник интереса. Думайте об этих путях как индексированные наборы с индексами 0, 1, ... N - 1.

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

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

Идентификаторы источника VidPN назначаются операционной системой. DxgkDdiStartDevice, реализованной драйвером минипорта дисплея, возвращает количество источников видео, поддерживаемых адаптером отображения. Затем операционная система назначает идентификаторы 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 (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

См. также

pfnGetNumPathsFromSource

pfnGetPathSourceFromTarget