【问题标题】:CreateFile doesn't prevents other processes from opening my deviceCreateFile 不会阻止其他进程打开我的设备
【发布时间】:2012-06-21 07:25:09
【问题描述】:

我正在使用 CreateFile 打开与我的 USB 硬件的连接。如果我有两个(或更多)硬件连接到 PC,我想防止我的 PC 应用程序的多个实例(不同的 PID)连接到相同的硬件。

我认为这是通过运行 dwShareMode = 0 的 CreateFile 来完成的。由于某种原因,这不起作用。向同一个 USB 设备运行 CreateFile 时,PC 应用程序的多个不同实例将获得有效句柄。

hDev = CreateFile(
    "\\\\?\\usb#vid_0442&pid_0891&mi_01#6&2ea0fbc8&0&0001#{ff646f80-8def-11d2-9449-00105a075f6b}"
    GENERIC_READ | GENERIC_WRITE,
    0,
    NULL,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
    NULL
);

如果可能的话,我希望在不更改驱动程序的情况下按我的意愿进行这项工作,因为这将调用驱动程序证书签名,yadayada...

我错过了什么?

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx

【问题讨论】:

    标签: createfile wdf


    【解决方案1】:

    EvtDeviceAdd 的 WdfDeviceInitSetExclusive(...) 使其工作重新签署我的驱动程序 8-]

    【讨论】:

      猜你喜欢
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多