다음을 통해 공유


PFN_HANDLE_KMD_MESSAGE 콜백 함수(netdispumdddi.h)

디스플레이 미니포트 드라이버가 DxgkCbMiracastSendMessage 함수를 호출할 때 Miracast 사용자 모드 드라이버가 수신하는 비동기 커널 모드 메시지를 처리하기 위해 운영 체제에서 호출합니다.

구문

PFN_HANDLE_KMD_MESSAGE PfnHandleKmdMessage;

NTSTATUS PfnHandleKmdMessage(
  [in]  PVOID pMiracastContext,
  [in]  UINT InputBufferSize,
  [in]  VOID *pInputBuffer,
  [in]  UINT OutputBufferSize,
  [out] VOID *pOutputBuffer,
  [out] UINT *pBytesReturned
)
{...}

매개 변수

[in] pMiracastContext

디스플레이 어댑터와 연결된 컨텍스트에 대한 포인터입니다.

운영 체제는 Miracast 사용자 모드 드라이버의 CreateMiracastContext 함수를 호출할 때 컨텍스트를 얻었습니다.

[in] InputBufferSize

운영 체제에서 제공하는 입력 버퍼 pInputBuffer의 크기입니다.

[in] pInputBuffer

운영 체제에서 제공하는 입력 버퍼에 대한 포인터입니다.

[in] OutputBufferSize

운영 체제에서 제공하는 출력 버퍼 pOutputBuffer의 크기입니다.

[out] pOutputBuffer

운영 체제에서 제공하는 출력 버퍼에 대한 포인터입니다.

[out] pBytesReturned

운영 체제에서 제공하는 버퍼에 대한 포인터로, 디스플레이 미니포트 드라이버가 pOutputBuffer에 쓴 반환된 바이트 수를 보유합니다.

반환 값

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

설명

스레드 보안

이 함수가 호출되면 다른 스레드에서도 호출되었을 수 있습니다. 따라서 드라이버는 필요한 경우 HandleKernelModeMessage 에 대한 여러 호출을 동기화해야 합니다.

운영 체제는 CreateMiracastContext, DestroyMiracastContext, StartMiracastSession 및 StopMiracastSession이 호출되면 이 함수가 호출되지 않도록 보장합니다. Miracast 연결된 세션(StartMiracastSession)을 시작하는 동안 디스플레이 미니포트 드라이버가 보내는 모든 메시지는 세션 시작 프로세스가 완료될 때까지 차단됩니다. 또한 운영 체제는 Miracast 세션(StopMiracastSession)을 중지하기 위해 호출 중에 또는 호출 후에 디스플레이 미니포트 드라이버가 보내는 모든 메시지를 차단합니다.

요구 사항

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

추가 정보

CreateMiracastContext

DestroyMiracastContext

DxgkCbMiracastSendMessage

StartMiracastSession

StopMiracastSession