DXGKDDI_VIDPN_CREATENEWTARGETMODESET 콜백 함수(d3dkmddi.h)
pfnCreateNewTargetModeSet 함수는 지정된 VidPN 개체 내에 새 대상 모드 집합 개체를 만듭니다.
구문
DXGKDDI_VIDPN_CREATENEWTARGETMODESET DxgkddiVidpnCreatenewtargetmodeset;
NTSTATUS DxgkddiVidpnCreatenewtargetmodeset(
[in] IN_CONST_D3DKMDT_HVIDPN hVidPn,
[in] IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[out] OUT_PD3DKMDT_HVIDPNTARGETMODESET phNewVidPnTargetModeSet,
[out] DEREF_OUT_CONST_PPDXGK_VIDPNTARGETMODESET_INTERFACE ppVidPnTargetModeSetInterace
)
{...}
매개 변수
[in] hVidPn
VidPN 개체에 대한 핸들입니다. VidPN 관리자는 이전에 DxgkDdiEnumVidPnCofuncModality, DxgkDdiIsSupportedVidPn 또는 DxgkDdiRecommendFunctionalVidPn을 호출하여 이 핸들을 디스플레이 미니포트 드라이버에 제공했습니다.
[in] VidPnTargetId
VidPN 개체와 연결된 비디오 현재 대상 중 하나를 식별하는 정수입니다.
[out] phNewVidPnTargetModeSet
새로 만든 대상 모드 집합 개체에 대한 핸들을 수신하는 변수에 대한 포인터입니다.
[out] ppVidPnTargetModeSetInterace
DXGK_VIDPNTARGETMODESET_INTERFACE 구조체에 대한 포인터를 수신하는 변수에 대한 포인터입니다. 구조체에는 디스플레이 미니포트 드라이버가 대상 모드 집합 개체를 검사하고 변경하기 위해 호출할 수 있는 함수에 대한 포인터가 포함되어 있습니다.
반환 값
pfnCreateNewTargetModeSet 함수는 다음 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_SUCCESS | 함수가 성공했습니다. |
STATUS_GRAPHICS_INVALID_VIDPN | hVidPn에 제공된 핸들이 잘못되었습니다. |
STATUS_NO_MEMORY | VidPN 관리자가 새 대상 모드 집합 개체를 만드는 데 필요한 메모리를 할당할 수 없습니다. |
설명
VidPN 구현에서 특정 대상에 설정된 새 대상 모드를 할당하려면 다음 단계를 수행합니다.
- pfnCreateNewTargetModeSet를 호출하여 새 대상 모드 집합 개체에 대한 핸들을 가져옵니다. 해당 대상 모드 집합 개체는 지정한 특정 VidPN 개체에 속합니다.
- DXGK_VIDPNTARGETMODESET_INTERFACE 구조의 함수를 사용하여 대상 모드 집합 개체에 모드를 추가합니다.
- pfnAssignTargetModeSet를 호출하여 특정 대상에 설정된 새 대상 모드를 할당합니다.
pfnCreateNewTargetModeSet을 호출하여 핸들을 가져온 다음 대상에 설정된 새 대상 모드를 할당하지 않기로 결정한 경우 pfnReleaseTargetModeSet를 호출하여 새로 얻은 핸들을 해제해야 합니다.
ppVidPnTargetModeSetInterface에서 반환된 DXGK_VIDPNTARGETEMODESET_INTERFACE 구조체의 수명은 운영 체제에서 소유합니다. 운영 체제는 이 소유권 체계를 사용하여 인터페이스의 클라이언트를 중단하지 않고 런타임에 최신 구현으로 전환할 수 있습니다.
D3DKMDT_HVIDPN 및 D3DKMDT_HVIDPNTARGETMODESET 데이터 형식은 D3dkmdt.h에 정의됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
대상 플랫폼 | 데스크톱 |
머리글 | d3dkmddi.h(D3dkmddi.h 포함) |
IRQL | PASSIVE_LEVEL |