Exemple #1
0
        /// <summary>
        /// Creates the partition devices.
        /// </summary>
        public void CreatePCIDevices()
        {
            // Find PCI controller devices
            var devices = deviceManager.GetDevices <IPCIController>(DeviceStatus.Online);

            if (devices.Count == 0)
            {
                return;
            }

            var pciController = devices[0] as IPCIController;

            // For each controller
            for (int bus = 0; bus < 255; bus++)
            {
                for (int slot = 0; slot < 16; slot++)
                {
                    for (int fun = 0; fun < 7; fun++)
                    {
                        if (ProbeDevice(pciController, (byte)bus, (byte)slot, (byte)fun))
                        {
                            var pciDevice = new PCI.PCIDevice(pciController, (byte)bus, (byte)slot, (byte)fun);
                            deviceManager.Add(pciDevice);
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Creates the partition devices.
        /// </summary>
        public void CreatePCIDevices()
        {
            // Find PCI controller devices
            var devices = deviceManager.GetDevices(new IsPCIController(), new IsOnline());

            if (devices.Count == 0)
                return;

            var pciController = devices.First.Value as IPCIController;

            // For each controller
            for (int bus = 0; bus < 255; bus++)
            {
                for (int slot = 0; slot < 16; slot++)
                {
                    for (int fun = 0; fun < 7; fun++)
                    {
                        if (ProbeDevice(pciController, (byte)bus, (byte)slot, (byte)fun))
                        {
                            var pciDevice = new PCI.PCIDevice(pciController, (byte)bus, (byte)slot, (byte)fun);
                            deviceManager.Add(pciDevice);
                        }
                    }
                }
            }
        }