Miracast 무선 디스플레이 지원
Miracast 무선 디스플레이 표준에 대한 지원은 Windows 8.1(WDDM 1.3)에서 도입되었습니다.
Windows 10부터 Miracast 지원
Windows 10(WDDM 2.0)부터 운영 체제는 모든 GPU에서 작동할 수 있는 기본 제공 Miracast 스택과 함께 제공됩니다. Microsoft Miracast 스택 및 Windows 10부터 Miracast 디스플레이를 지원하기 위한 드라이버 및 하드웨어 요구 사항에 대한 자세한 내용은 다음 설명서를 참조하세요.
Device.Graphics.WDDM13.DisplayRender.WirelessDisplay의 관련 WHLK 설명서
드라이버 개발자는 더 이상 사용자 지정 Miracast 스택을 구현하지 않아야 합니다. Microsoft는 이후 버전의 Windows에서 사용자 지정 Miracast 스택에 대한 지원을 제거할 수 있습니다.
Windows 8.1에서 Miracast 지원
WDDM 1.3 드라이버는 필요에 따라 Windows 8.1에서 제공되는 Miracast DDI를 통해 Miracast를 지원할 수 있습니다. 이 문서의 나머지 부분과 관련 문서에서는 해당 지원을 제공하는 방법을 설명합니다.
DDI(사용자 모드 디바이스 드라이버 인터페이스)
Miracast 사용자 모드 드라이버에서 호출하는 무선 디스플레이 콜백 함수
다음 표에서는 운영 체제에서 구현하는 무선 디스플레이(Miracast) 사용자 모드 함수를 나열합니다. Windows 8.1 Miracast 사용자 모드 드라이버만 이러한 함수를 호출할 수 있습니다. Miracast 표시 콜백 함수에 대한 포인터는 MIRACAST_CALLBACKS 구조로 반환됩니다.
함수 | 설명 |
---|---|
PFN_GET_NEXT_CHUNK_DATA | DXGK_INTERRUPT_TYPE 인터럽트 형식이 DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE 때 DirectX 그래픽 커널 하위 시스템에 보고된 다음 Miracast 인코딩 청크에 대한 정보를 제공합니다. |
PFN_MIRACAST_IO_CONTROL | 사용자 모드 디스플레이 드라이버가 커널 모드 디스플레이 미니포트 드라이버에 동기 I/O 컨트롤 요청을 보내도록 호출합니다. |
PFN_REGISTER_DATARATE_NOTIFICATIONS | 사용자 모드 드라이버가 운영 체제에 등록하여 QoS(네트워크 서비스 품질) 알림 및 Miracast 연결의 현재 네트워크 대역폭을 수신하도록 호출됩니다. |
PFN_REPORT_SESSION_STATUS | 현재 Miracast 연결된 세션의 상태를 보고하기 위해 사용자 모드 표시 드라이버에서 호출됩니다. |
PFN_REPORT_STATISTIC | Miracast 링크의 통계를 운영 체제에 보고하기 위해 사용자 모드 표시 드라이버에서 호출됩니다. |
Windows 8.1 Miracast 사용자 모드 드라이버에서 구현하는 무선 디스플레이 함수
다음 표에서는 Windows 8.1 Miracast 사용자 모드 드라이버가 구현해야 하는 무선 디스플레이(Miracast) 함수를 나열합니다. 이 유형의 드라이버는 독립 실행형 DLL에서 실행됩니다.
QueryMiracastDriverInterface 함수에 대한 운영 체제 호출에 대한 응답으로 Miracast 사용자 모드 드라이버는 MIRACAST_DRIVER_INTERFACE 구조에서 이러한 함수에 대한 포인터를 제공해야 합니다. 예외는 registerForDataRateNotifications에 선언된 포인터가 있는 pfnDataRateNotify입니다.
함수 | 설명 |
---|---|
PFN_CREATE_MIRACAST_CONTEXT | 사용자 모드 Miracast 컨텍스트를 만들기 위해 운영 체제에서 호출됩니다. |
PFN_DESTROY_MIRACAST_CONTEXT | 사용자 모드 Miracast 컨텍스트를 삭제하기 위해 운영 체제에서 호출됩니다. |
PFN_HANDLE_KMD_MESSAGE | 디스플레이 미니포트 드라이버가 DxgkCbMiracastSendMessage 함수를 호출할 때 Miracast 사용자 모드 드라이버가 받는 비동기 커널 모드 메시지를 처리하기 위해 운영 체제에서 호출됩니다. |
PFN_DATARATE_NOTIFICATION | Miracast 네트워크 링크의 비트 전송률이 변경되었음을 Miracast 사용자 모드 드라이버에 알리기 위해 운영 체제에서 호출됩니다. 이 함수는 RegisterForDataRateNotifications 함수가 호출될 때 운영 체제에 등록됩니다. |
QUERY_MIRACAST_DRIVER_INTERFACE | 운영 체제에서 Miracast 사용자 모드 드라이버 인터페이스 를 쿼리하기 위해 호출되는 MIRACAST_DRIVER_INTERFACE. |
PFN_START_MIRACAST_SESSION | 운영 체제에서 Miracast 연결 세션을 시작하도록 호출됩니다. |
PFN_STOP_MIRACAST_SESSION | 운영 체제에서 이전에 StartMiracastSession 함수를 호출하여 시작한 Miracast 연결된 세션을 시작하도록 호출되었습니다. |
관련 구조 및 열거형
다음 표에서는 Windows 8.1 Miracast 디스플레이 DDI(디바이스 드라이버 인터페이스)와 함께 사용되는 사용자 모드 구조 및 열거형을 나열합니다.
구조체/열거형 | 설명 |
---|---|
MIRACAST_CALLBACKS | Miracast 사용자 모드 드라이버가 호출할 수 있는 무선 디스플레이(Miracast) 런타임 콜백 함수에 대한 포인터를 포함합니다. |
MIRACAST_CHUNK_DATA | 사용자 모드 드라이버가 무선 디스플레이(Miracast) GetNextChunkData 함수를 호출할 때 사용할 인코딩 청크 데이터를 포함합니다. |
MIRACAST_CHUNK_ID | 무선 디스플레이(Miracast) 인코딩 청크를 식별하는 정보를 저장합니다. |
MIRACAST_CHUNK_INFO | 지정된 무선 디스플레이(Miracast) 인코딩 청크에 대한 정보를 포함합니다. |
MIRACAST_CHUNK_TYPE | 처리할 무선 디스플레이(Miracast) 청크 정보의 유형을 지정합니다. |
MIRACAST_DATARATE_STATS | 오디오/비디오 인코더 비트 속도 및 실패하거나 다시 시도된 Wi-Fi 프레임에 대한 무선 디스플레이(Miracast) pfnDataRateNotify 함수에 사용되는 정보를 포함합니다. |
MIRACAST_DRIVER_INTERFACE | Miracast 사용자 모드 드라이버가 구현하는 무선 디스플레이(Miracast) 함수에 대한 포인터를 포함합니다. |
MIRACAST_PROTOCOL_EVENT | 사용자 모드 표시 드라이버가 보고해야 하는 무선 디스플레이(Miracast) 프로토콜 이벤트의 유형을 지정합니다. |
MIRACAST_SESSION_INFO | 무선 디스플레이(Miracast) 연결 세션에 대한 정보를 포함합니다. |
MIRACAST_STATISTIC_DATA | 사용자 모드 표시 드라이버가 운영 체제에 보고하는 Miracast 통계 데이터를 포함합니다. |
MIRACAST_STATISTIC_TYPE | 사용자 모드 표시 드라이버에서 생성하는 Miracast 통계 데이터의 형식을 지정합니다. |
MIRACAST_STATUS | 사용자 모드 표시 드라이버가 Miracast 연결 상태를 보고하는 데 사용하는 상태 유형을 지정합니다. |
MIRACAST_WFD_CONNECTION_STATS | Wi-Fi Direct 연결에 대한 비트 전송률 정보를 포함합니다. |
다음 사용자 모드 구조 및 열거형은 Miracast 디스플레이를 지원하며 Windows 8.1에 대해 새로운 기능 또는 업데이트되었습니다.
- DISPLAYCONFIG_TARGET_BASE_TYPE(신규)
- DISPLAYCONFIG_VIDEO_SIGNAL_INFO(AdditionalSignalInfo 자식 구조가 추가됨)
- DISPLAYCONFIG_DEVICE_INFO_TYPE(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE 상수가 추가됨)
- D3DKMDT_VIDEO_SIGNAL_INFO(AdditionalSignalInfo 자식 구조가 추가됨)
- DISPLAYCONFIG_DEVICE_INFO_TYPE(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE 상수가 추가됨)
커널 모드 DDI
무선 디스플레이(Miracast) 콜백 인터페이스
Miracast 디스플레이 콜백 인터페이스에는 Windows 8.1에서 무선(Miracast)을 지원하기 위해 DirectX 그래픽 커널 하위 시스템이 구현하는 함수가 포함되어 있습니다.
다음 표에서는 WDDM 1.3 디스플레이 미니포트 드라이버에 의해 호출되는 이러한 커널 모드 함수를 나열합니다.
함수 | 설명 |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE | 사용자 모드 표시 드라이버에 비동기 메시지를 보냅니다. |
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | DxgkCbMiracastSendMessage 함수를 호출하여 사용자 모드 드라이버로 전송된 메시지가 완료되거나 취소될 때 커널 모드에서 호출됩니다. |
DXGKCB_MIRACAST_REPORT_CHUNK_INFO | 인코딩 청크에 대한 정보를 보고하기 위해 디스플레이 미니포트 드라이버에서 호출됩니다. |
디스플레이 미니포트 드라이버는 DXGK_MIRACAST_DISPLAY_CALLBACKS 구조에서 이러한 함수에 대한 포인터를 채워야 합니다.
무선 디스플레이(Miracast) 인터페이스
다음 표에서는 Windows 8.1에서 무선(Miracast) 디스플레이를 지원하기 위해 미니포트 드라이버가 구현하는 커널 모드 함수를 보여 줍니다. Miracast 인터페이스 함수에 대한 포인터는 DXGK_MIRACAST_INTERFACE 구조로 반환됩니다.
함수 | 설명 |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | DxgkCbMiracastSendMessage 함수를 호출하여 사용자 모드 드라이버로 전송된 메시지가 완료되거나 취소될 때 커널 모드에서 호출됩니다. |
DXGKDDI_MIRACAST_CREATE_CONTEXT | Miracast 디바이스에 대한 커널 모드 컨텍스트를 만듭니다. |
DXGKDDI_MIRACAST_DESTROY_CONTEXT | Miracast 디바이스의 인스턴스를 삭제합니다. |
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL | MiracastIoControl 함수에 대한 사용자 모드 표시 드라이버 호출에 대한 응답으로 디스플레이 미니포트 드라이버가 동기 I/O 컨트롤 요청을 처리하도록 요청하기 위해 운영 체제에서 호출됩니다. |
DXGKDDI_MIRACAST_QUERY_CAPS | 현재 디스플레이 어댑터의 Miracast 기능을 쿼리합니다. 운영 체제는 디스플레이 어댑터가 처음 시작된 후에 반환되는 기능을 저장하는 경우에만 이 함수를 호출합니다. |
이러한 커널 모드 구조 및 열거형은 Miracast 디스플레이를 지원하며 Windows 8.1에 대해 새로운 기능 또는 업데이트되었습니다.
- DXGK_MIRACAST_CAPS
- D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY(D3DKMDT_VOT_MIRACAST 상수가 추가됨)
- D3DKMDT_VIDEO_SIGNAL_INFO(AdditionalSignalInfo 자식 구조가 추가됨)
- DXGK_CHILD_STATUS(Miracast 자식 구조가 추가됨)
- DXGK_CHILD_STATUS_TYPE(StatusMiracast 상수가 추가됨)
- DXGKARGCB_NOTIFY_INTERRUPT_DATA(MiracastEncodeChunkCompleted 자식 구조가 추가됨)