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 启动会话完成。 如果用户模式驱动程序在 CreateMiracastContext 或 StartMiracastSession 函数中使用的同一上下文中调用 MiracastIoControl,则操作系统将处理该调用。
如果 Miracast 用户模式驱动程序在操作系统停止 Miracast 会话时调用 MiracastIoControl ,并且调用线程不是操作系统调用 StopMiracastSession 函数的线程,则操作系统将失败此调用。 如果用户模式驱动程序在 StopMiracastSession 或 DestroyMiracastContext 函数中使用的同一上下文中调用 MiracastIoControl,则操作系统将处理该调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 |
最低受支持的服务器 | Windows Server 2012 R2 |
目标平台 | 桌面 |
标头 | netdispumdddi.h (包括 Netdispumddi.h) |