无法访问Windowsapp store内的USB设备

好的,首先我要指出的是,我对Windows应用程序开发并不陌生,因为我正在尝试开发Windowsapp store应用程序,以便使用通过USB连接的PrimeSense扫描仪。 我在这里问了一个更具体的问题。

这一次我有一个更通用的问题,这是更多有关Windowsapp store应用程序开发。 我正在使用VS2013 Express并编译为Win32。

当我编译VS2012的应用程序并将其作为可执行文件运行时,我可以完美地连接到扫描仪。 但是我不能和VS2013一样,把它作为一个商店应用程序运行。

我知道设备已连接,驱动程序已更新,所有dlls文件都放置在Widnows System 32目录中。 我还将所有function添加到应用程序清单,并添加了以下设备function

<m2:DeviceCapability Name="usb"> <!--OSRFX2 Device--> <m2:Device Id="vidpid:1d27 0609"> <m2:Function Type="classId:ff * *" /> <m2:Function Type="name:vendorSpecific" /> </m2:Device> </m2:DeviceCapability> 

vid和pid显然匹配设备的相应代码。

我尝试使用OpenNI协议扫描仪时收到的错误之一是:

 Could not open to "\\?\usb#vid_1d27&pid_0609&mi_00#7&1601586a&0&0000#{c3b5f022-5a42-1980-1909-ea72095601b1}" USB Device not found 

这个错误是相当令人沮丧,因为我知道设备连接。 所以我倾向于认为在游戏的Windows应用程序一侧有一些特定级别的操作系统特性,不能使我连接到设备。 正如我所说,我正在编译Win32。

是否有机会使驱动程序不能用于Windowsapp store。 是否有一些额外的东西,我应该做的内部Windows应用程序逻辑,我不这样做,这是必要的连接USB设备? 我很抱歉,但对于Windowsapp store应用开发,我是全新的。

谢谢。

你不能从地铁应用程序做到这一点。

您通常通过调用具有该对象管理器路径的 CreateFile作为“创建”文件来创建该USB设备的句柄。 在城域应用程序中不允许 CreateFile – “仅限桌面应用程序” – 及其“替换”,CreateFile2,不允许打开对象管理器对象。

此外,CreateFile2的文档指出,在metro应用程序中,此功能只能打开文件和目录(而不是管道,邮件槽,控制台等)。

请参阅social.msdn上的这篇文章

除非我错过了什么,我不认为这是可能的。