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 缓冲区。

建议驱动程序将此值设置为 true true(如有必要除外),因为刷新 GPU 会产生大量处理开销。

[in] InputBufferSize

pInputBuffer指向的输入缓冲区的大小(以字节为单位)。

[in] pInputBuffer

指向输入缓冲区的指针。 InputBufferSize 参数指定缓冲区的大小。

[in] OutputBufferSize

pOutputBuffer指向的输出缓冲区的大小(以字节为单位)。

[out] pOutputBuffer

驱动程序提供的指向输出缓冲区的指针。 OutputBufferSize 参数指定缓冲区的大小。

[out, optional] pBytesReturned

一个可选的驱动程序提供的指针,指向 UINT类型变量,用于保存显示微型端口驱动程序返回的字节数。

返回值

成功后,作系统将返回 STATUS_SUCCESS。 否则,该函数将返回 Ntstatus.h 标头中定义的错误代码。

言论

如果 Miracast 用户模式驱动程序在启动 Miracast 会话时调用 MiracastIoControl,并且如果调用线程不是作系统调用 StartMiracastSession 函数的线程,则作系统将阻止 MiracastIoControl 调用,直到 Miracast 启动会话完成。 如果用户模式驱动程序 CreateMiracastContextStartMiracastSession 函数中使用的上下文中调用 miracastIoControl,则作系统将处理调用。

如果 Miracast 用户模式驱动程序在作系统停止 Miracast 会话时调用 MiracastIoControl,并且如果调用线程不是作系统调用 StopMiracastSession 函数的线程,则作系统将失败此调用。 如果用户模式驱动程序 StopMiracastSessionDestroyMiracastContext 函数中使用的上下文中调用 miracastIoControl,则作系统将处理调用。

要求

要求 价值
最低支持的客户端 Windows 8.1
支持的最低服务器 Windows Server 2012 R2
目标平台 桌面
标头 netdispumdddi.h (include Netdispumdddi.h)

另请参阅

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession