다음을 통해 공유


PFN_MIRACAST_IO_CONTROL 콜백 함수(netdispumdddi.h)

사용자 모드 디스플레이 드라이버가 커널 모드 디스플레이 미니포트 드라이버에 동기 I/O 컨트롤 요청을 보내도록 호출합니다. 이 함수의 데이터 형식은 PFN_MIRACAST_IO_CONTROL.

구문

PFN_MIRACAST_IO_CONTROL PfnMiracastIoControl;

NTSTATUS PfnMiracastIoControl(
  [in]            HANDLE hMiracastDeviceHandle,
  [in]            BOOL HardwareAccess,
  [in]            UINT InputBufferSize,
  [in]            VOID *pInputBuffer,
  [in]            UINT OutputBufferSize,
  [out]           VOID *pOutputBuffer,
  [out, optional] UINT *pBytesReturned
)
{...}

매개 변수

[in] hMiracastDeviceHandle

Miracast 디바이스를 나타내는 핸들입니다. Miracast 사용자 모드 드라이버는 이전에 CreateMiracastContext 함수 호출에서 hMiracastDeviceHandle 매개 변수로 이 핸들을 얻었습니다.

[in] HardwareAccess

사용자 모드 디스플레이 드라이버의 이 I/O 컨트롤 요청이 보류 중인 모든 GPU DMA 버퍼를 플러시해야 하는지 여부를 나타내는 부울 값입니다.

GPU를 플러시하면 상당한 처리 오버헤드가 발생하므로 필요한 경우를 제외하고 드라이버는 이 값을 TRUE 로 설정하지 않는 것이 좋습니다.

[in] InputBufferSize

pInputBuffer가 가리키는 입력 버퍼의 크기(바이트)입니다.

[in] pInputBuffer

입력 버퍼에 대한 포인터입니다. InputBufferSize 매개 변수는 버퍼의 크기를 지정합니다.

[in] OutputBufferSize

pOutputBuffer가 가리키는 출력 버퍼의 크기(바이트)입니다.

[out] pOutputBuffer

출력 버퍼에 대한 드라이버 제공 포인터입니다. OutputBufferSize 매개 변수는 버퍼의 크기를 지정합니다.

[out, optional] pBytesReturned

디스플레이 미니포트 드라이버가 반환한 바이트 수를 보유하는 UINT 형식 변수에 대한 선택적 드라이버 제공 포인터입니다.

반환 값

성공하면 운영 체제가 STATUS_SUCCESS 반환합니다. 그렇지 않으면 함수는 Ntstatus.h 헤더에 정의된 오류 코드를 반환합니다.

설명

운영 체제가 Miracast 세션을 시작할 때 Miracast 사용자 모드 드라이버가 MiracastIoControl 을 호출하고, 호출 스레드가 운영 체제에서 StartMiracastSession 함수를 호출하는 스레드가 아닌 경우 운영 체제는 Miracast 시작 세션이 완료될 때까지 MiracastIoControl 호출을 차단합니다. 사용자 모드 드라이버가 CreateMiracastContext 또는 StartMiracastSession 함수에서 사용되는 것과 동일한 컨텍스트에서 MiracastIoControl을 호출하는 경우 운영 체제는 호출을 처리합니다.

운영 체제가 Miracast 세션을 중지할 때 Miracast 사용자 모드 드라이버가 MiracastIoControl 을 호출하고 호출 스레드가 운영 체제에서 StopMiracastSession 함수를 호출하는 스레드가 아닌 경우 운영 체제는 이 호출에 실패합니다. 사용자 모드 드라이버가 StopMiracastSession 또는 DestroyMiracastContext 함수에서 사용되는 것과 동일한 컨텍스트에서 MiracastIoControl을 호출하는 경우 운영 체제는 호출을 처리합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1
지원되는 최소 서버 Windows Server 2012 R2
대상 플랫폼 데스크톱
머리글 netdispumdddi.h(Netdispumddddi.h 포함)

추가 정보

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession