PFN_MIRACAST_IO_CONTROL回调函数 (netdispumddi.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 ,因为刷新 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 (包括 Netdispumddi.h)

另请参阅

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession