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