当前位置:  开发笔记 > 编程语言 > 正文

将N插播设备映射到PCI插槽ID,C#

如何解决《将N插播设备映射到PCI插槽ID,C#》经验,为你挑选了0个好方法。

我有一定数量的外部设备,我们称之为东西.每个Thing通过插入PCI插槽的PnP卡与计算机连接.每张卡都有4个端口.我需要获得每个Thing的UID,并且在重新启动之间保持一致.请注意,Things没有我可以访问的内置UID.

我解决这个问题的想法是为卡上的每个端口获取一个UID.在我看来,我只需要弄清楚每个插卡插入哪个PCI插槽.这不会在重启时发生变化,当然端口也会按照相同的顺序...所以我基本上可以用UID标记每个端口,并知道每个与之关联的UID.

我已经做了一些搜索,以找出最常用的C#对象.我找到的最接近的是图书馆的ManagementObjectSearcher对象System.Management.这是我编写的一些简单代码,看看这是否能让我得到我想要的东西:

static void Main(string[] args)
{
    IDsearch();
    Console.ReadLine();
}

static void IDsearch()
{
    ManagementObjectSearcher searcher =
        new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_PnPEntity");

    foreach (ManagementObject queryObj in searcher.Get())
    {
        Console.WriteLine("DeviceID: {0}", queryObj["DeviceID"]);
        Console.WriteLine("Description: {0}", queryObj["Description"]);
    }
}

这会为我的计算机上的每个PnP设备生成如下输出:

DeviceID: ACPI\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_60_-_INTEL(R)_CORE(TM)_I7-4790_CPU_@_3.60GHZ\_1
Description: Intel Processor

DeviceID: USB\VID_0CF3&PID_3004\ALASKA_DAY_2006
Description: Dell Wireless 1535C Bluetooth Device

如果我还可以获得PCI插槽号,这符合我的要求.

我也遇到过这个Win32_SystemSlot课程,但这似乎并没有让我对插入插槽的内容进行描述!所以在这一点上,我可以获得没有PCI插槽的描述......以及没有描述的PCI插槽.我只是无法将它们映射到一起,这就是我需要的.我必须忽略一些事情或者不提出正确的问题,因为这对我来说是一件非常普遍的事情.

谢谢您的帮助.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有