IClientTrackedDeviceProvider
这个接口在SDK的openvr_driver.h文件中定义的.用来处理应用场景中各种各样的客户端操作.驱动中必须实现的接口(后续会淘汰,但是目前还是要用),它将被vrclient.dll加载.
EVRInitError Init( EClientDriverMode eDriverMode, IDriverLog *pDriverLog, vr::IClientDriverHost *pDriverHost, const char *pchUserDriverConfigDir, const char *pchDriverInstallDir )
初始化驱动.这个函数将会在所有其他方法之前被调用,除了BIsHmdPresent().BIsHmdPresent会在init/cleanup对之外调用.
如果这个函数返回值是除VRInitError_None之外的其他值,驱动将会被卸载.
pDriverHost永远不会为空,总是指向一个IClientDriverHost接口.
- pchUserDriverConfigDir:驱动保存用户配置文件的文件夹的绝对路径
- pchDriverInstallDir:驱动根文件夹的绝对路径.
void Cleanup()
在卸载之前清理驱动资源.
bool BIsHmdPresent( const char *pchUserConfigDir )
当客户端需要通知应用程序是否有HMD连接上时被调用.这个方法应该尽可能的轻(在这个函数里不要做太多的复杂的事情),并且应该在Hooking进程函数或离开资源加载时没有任何副作用.init函数不应该在这之前被调用,并且不会再它之后调用Cleanup.
EVRInitError SetDisplayId( const char *pchDisplayId