다음을 통해 공유


DXGKDDI_QUERY_DEVICE_DESCRIPTOR 콜백 함수(dispmprt.h)

DxgkDdiQueryDeviceDescriptor 함수는 디스플레이 어댑터의 자식 디바이스 또는 디스플레이 어댑터의 자식 디바이스에 연결된 외부 디바이스(일반적으로 모니터)에 대한 설명자를 반환합니다.

구문

DXGKDDI_QUERY_DEVICE_DESCRIPTOR DxgkddiQueryDeviceDescriptor;

NTSTATUS DxgkddiQueryDeviceDescriptor(
  [in]      IN_CONST_PVOID MiniportDeviceContext,
  [in]      IN_ULONG ChildUid,
  [in, out] INOUT_PDXGK_DEVICE_DESCRIPTOR DeviceDescriptor
)
{...}

매개 변수

[in] MiniportDeviceContext

디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버의 DxgkDdiAddDevice 함수는 이전에 DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.

[in] ChildUid

자식 디바이스를 고유하게 식별하는 정수입니다. 디스플레이 미니포트 드라이버의 DxgkDdiQueryChildRelations 함수는 이전에 이 식별자를 디스플레이 포트 드라이버에 제공했습니다.

[in, out] DeviceDescriptor

DXGK_DEVICE_DESCRIPTOR 구조체에 대한 포인터입니다. 호출자는 DescriptorLengthDescriptorBuffer 멤버를 초기화합니다. 자식 디바이스에 TypeVideoOutput 형식이 있는 경우 호출자는 DescriptorOffset 멤버도 초기화합니다. 반환 시 DescriptorBuffer 멤버가 가리키는 호출자 할당 버퍼가 설명자를 받습니다.

반환 값

DxgkDdiQueryDeviceDescriptor 는 다음 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS 함수가 디바이스 설명자를 성공적으로 반환했습니다.
STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED ChildUid로 식별된 (온보딩) 자식 디바이스는 설명자를 지원하지 않습니다.
STATUS_MONITOR_NO_DESCRIPTOR ChildUid로 식별된 자식 디바이스는 EDID 설명자를 지원하지 않는 모니터에 연결됩니다.
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA ChildUid로 식별된 자식 디바이스는 EDID 설명자를 지원하는 모니터에 연결되지만 설명자에는 DeviceDescriptor의 DescriptorOffset 및 DescriptorLengthmembers에 지정된 EDID 확장 블록이 없습니다.

설명

DxgkDdiQueryDeviceDescriptorDeviceDescriptor-DescriptorLength>에 지정된 바이트 수보다 더 많이 작성해서는 안됩니다.

ChildUid로 식별된 자식 디바이스에 TypeVideoOutput 형식이 있는 경우 DxgkDdiQueryDeviceDescriptor는 출력에 연결된 모니터에 대한 EDID(확장 디스플레이 식별 데이터)의 일부를 반환합니다. DeviceDescriptor-DescriptorOffset> 은 반환할 데이터 시작의 EDID에 대한 바이트 오프셋을 지정합니다.

ChildUid로 식별된 자식 디바이스가 비디오 출력이 아닌 경우 DxgkDdiQueryDeviceDescriptor는 일반 디바이스 설명자를 반환합니다. 즉, DXGK_GENERIC_DESCRIPTOR 구조체의 멤버를 채웁니다.

DxgkDdiQueryDeviceDescriptor 함수는 한 자식 디바이스에 대해 여러 번 호출할 수 있습니다. 연결된 모니터가 있는 자식 디바이스의 경우 디스플레이 포트 드라이버는 초기화 중에 DxgkDdiQueryDeviceDescriptor 를 호출하여 모니터의 EDID의 처음 128바이트 블록을 가져옵니다. 나중에 모니터 클래스 함수 드라이버(Monitor.sys)는 DxgkDdiQueryDeviceDescriptor 를 호출하여 동일한 모니터의 EDID의 선택된 부분(첫 번째 128바이트 블록 포함)을 가져옵니다.

DxgkDdiQueryDeviceDescriptor 를 페이징 가능으로 만들어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 dispmprt.h
IRQL PASSIVE_LEVEL

추가 정보

DXGK_CHILD_DESCRIPTOR

DXGK_DEVICE_DESCRIPTOR

DxgkDdiQueryChildRelations

DxgkDdiQueryChildStatus