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 토폴로지 개체에 대한 핸들입니다. 디스플레이 미니포트 드라이버는 이전에 DXGK_VIDPN_INTERFACE 인터페이스의 pfnGetTopology 함수를 호출하여 이 핸들을 얻었습니다.
[in] VidPnSourceId
특정 비디오 현재 원본을 식별하는 정수입니다.
[in] VidPnPresentPathIndex
VidPnSourceId로 식별된 원본을 포함하는 경로 집합에 대한 인덱스(0부터 시작)입니다.
[out] pVidPnTargetId
대상 식별자를 수신하는 변수에 대한 포인터입니다.
반환 값
pfnEnumPathTargetsFromSource 함수는 다음 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_SUCCESS | 함수가 성공했습니다. |
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY | hVidPnTopology에 제공된 핸들이 잘못되었습니다. |
STATUS_INVALID_PARAMETER | pVidPnTargetId에 제공된 포인터가 유효했습니다. |
설명
VidPnPresentPathIndex 는 hVidPnTopology로 식별되는 토폴로지의 모든 경로 집합에 대한 인덱스가 아닙니다. 토폴로지의 모든 경로 하위 집합에 대한 인덱스입니다. 특히 VidPnSourceId로 식별된 원본을 포함하는 모든 경로의 하위 집합입니다.
특정 원본과 연결된 모든 대상을 지정된 토폴로지에서 열거하려면 다음 단계를 수행합니다.
pfnGetNumPathsFromSource를 호출하여 관심 원본을 포함하는 경로의 N 수를 확인합니다. 이러한 경로를 인덱스 0, 1, ... N - 1.
N - 1인 각 인덱스 0에 대해 원본 식별자와 인덱스를 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 |