【发布时间】:2012-11-05 15:10:10
【问题描述】:
我正在尝试为 USB 设备编写自己的控制器,而不是使用产品随附的 SDK(我觉得 sdk 低于标准)。
USB 设备已插入运行此应用程序的同一服务器。
所以我决定前往 Nuget 并获取 HidLibrary
PM> 安装包库
然后我继续按照GitHub 上的示例进行操作。
首先我进入我的控制面板来验证 VendorID 和 ProductID
然后我把它放到了我的代码中。
然后我在抓取设备的那一行设置了一个断点,可惜总是返回null。
using HidLibrary;
public class MyController : ApiController
{
private const int VendorId = 0x0BC7;
private const int ProductId = 0x0001;
private static HidDevice _device;
// POST api/<controller>
public string Post(CommandModel command)
{
_device = HidDevices.Enumerate(VendorId, ProductId).FirstOrDefault();
if (_device != null)
{
// getting here means the device exists
}
else
{
// ending up here means the device doesn't exist
throw new Exception("device not connected");
}
return null;
}
我希望这是一些愚蠢的事情,而不是关于直接从 IIS 工作人员连接到 USB 设备的一些破坏性权限问题。
【问题讨论】:
-
您可以尝试将 IIS 工作进程(和经过身份验证的用户帐户)作为本地管理员帐户运行,以排除权限问题。
-
这个项目背后的想法是构建一个目的构建“设备”(因为没有更好的术语),它在前端公开一个 webUI,并控制用于自动化目的的硬件......类似于Crestron 在他们的 AV2 硬件上做了什么。