IGameInputDevice::AcquireExclusiveRawDeviceAccess

注意

尚未实现此函数。

使该游戏进程甚至在失去焦点时也能获得对设备的独占访问权。

语法

bool AcquireExclusiveRawDeviceAccess(  
         uint64_t timeoutInMicroseconds  
)  

参数

timeoutInMicroseconds _In_
类型:uint64_t

在访问请求超时前等待对设备的访问的时间。

返回值

类型:bool

尚未实现此函数。

实现后,如果在指定的 timeoutInMicroseconds 时间间隔内未授予独占访问权,函数将返回 false 结果。

备注

获取对原始设备的独占访问权支持与设备之间的原始设备 I/O;常规输入仍发送到当前处于焦点中的进程(无法破坏此行为)。 当某一进程具有对某个设备的独占原始访问权限后,任何进程仍可以调用常规输出方法(例如,触觉回馈/力回馈),但在释放独占访问权限前没有任何输出发送到该设备–甚至从处于焦点中的进程,并且甚至在处于焦点中的进程是具有独占原始设备访问权限的进程时。 这是为了确保在低级 I/O 事务期间没有意外的消息发送到该设备。
在该进程执行完其独占设备 I/O 后,必须调用 ReleaseExclusiveRawDeviceAccess 以便恢复与设备的常规(基于焦点的)输出通信。 这些获取和释放方法遵循一个引用计数模型,因此,每次调用了获取方法,都必须调用释放方法一次。 如果在持有独占访问权时某个进程终止,则会自动释放该独占访问权。
一次只能有一个进程具有独占访问权。 如果在指定的超时间隔内无法获取独占访问权,则其他进程对 AcquireExclusiveRawDeviceAccess 方法的调用尝试会导致返回一个失败的 HRESULT。

该函数必须后随对 IGameInputDevice::ReleaseExclusiveRawDeviceAccess 的调用。 这些获取和释放方法遵循一个引用计数模型,因此,每次调用了获取方法,都必须调用释放方法一次。 如果在持有独占访问权时某个进程终止,则会自动释放该独占访问权。

要求

头文件:GameInput.h

库:xgameruntime.lib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

输入 API 概述
IGameInputDevice