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 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 dispmprt.h
IRQL PASSIVE_LEVEL

추가 정보

DXGK_CHILD_DESCRIPTOR

DXGK_DEVICE_DESCRIPTOR

DxgkDdiQueryChildRelations

DxgkDdiQueryChildStatus