Ejemplo n.º 1
0
 public PNPDriverIntegrator(PNPDriverDirectory driverDirectory, WindowsInstallation installation, string hardwareID, bool useLocalHardwareConfig, string enumExportPath, bool preconfigure)
     : base(driverDirectory, installation.ArchitectureIdentifier, installation.MinorOSVersion, installation.ProductType, hardwareID)
 {
     _installation           = installation;
     _useLocalHardwareConfig = useLocalHardwareConfig;
     _enumExportPath         = enumExportPath;
     _preconfigure           = preconfigure;
 }
        public void CanCreateWindowsInstallationWithChannelUri()
        {
            const string ChannelUri = "https://notify.windows.net";

            var installation = new WindowsInstallation(InstallationId, ChannelUri);

            Assert.Equal(InstallationId, installation.InstallationId);
            Assert.Equal(ChannelUri, installation.PushChannel);
            Assert.Equal(NotificationPlatform.Wns, installation.Platform);
        }
Ejemplo n.º 3
0
 public TCPIPIntegrator(WindowsInstallation installation, List <NetworkDeviceService> netDeviceServices)
 {
     _installation      = installation;
     _netDeviceServices = netDeviceServices;
 }
Ejemplo n.º 4
0
        private static List <string> UISelectHardwareID(PNPDriverDirectory pnpDriverDirectory, WindowsInstallation installation,
                                                        bool useLocalHardwareConfig, string enumExportPath)
        {
            var hardwareIDs         = new List <string>();
            var containsRootDevices = pnpDriverDirectory.ContainsRootDevices(installation.ArchitectureIdentifier,
                                                                             installation.MinorOSVersion, installation.ProductType);

            // We should not use our detection mechanism if a driver directory contains a root device.
            if (!containsRootDevices && (useLocalHardwareConfig || enumExportPath != string.Empty))
            {
                var matchingHardwareIDs = useLocalHardwareConfig
                                        ? PNPLocalHardwareDetector.DetectMatchingLocalHardware(pnpDriverDirectory, installation.ArchitectureIdentifier,
                                                                                               installation.MinorOSVersion, installation.ProductType)
                                        : PNPExportedHardwareDetector.DetectMatchingExportedHardware(enumExportPath, pnpDriverDirectory,
                                                                                                     installation.ArchitectureIdentifier, installation.MinorOSVersion, installation.ProductType);

                var devices = pnpDriverDirectory.ListDevices(installation.ArchitectureIdentifier, installation.MinorOSVersion,
                                                             installation.ProductType);
                // We now have a list of hardware IDs that matches (some of) our devices, let's found out which of the devices match
                var matchingDevices = new List <KeyValuePair <string, string> >();
                foreach (var device in devices)
                {
                    if (matchingHardwareIDs.Contains(device.Key))
                    {
                        matchingDevices.Add(device);
                    }
                }
                Console.WriteLine();
                Console.WriteLine("Looking for matching device drivers in directory '{0}':", pnpDriverDirectory.Path);
                foreach (var device in matchingDevices)
                {
                    hardwareIDs.Add(device.Key);
                }
            }
            else
            {
                foreach (var device in pnpDriverDirectory.ListDevices(
                             installation.ArchitectureIdentifier,
                             installation.MinorOSVersion,
                             installation.ProductType))
                {
                    hardwareIDs.Add(device.Key);
                }
            }

            return(hardwareIDs);
        }
Ejemplo n.º 5
0
        public static List <BaseDeviceService> IntegratePNPDrivers(List <PNPDriverDirectory> pnpDriverDirectories, WindowsInstallation installation, bool useLocalHardwareConfig, string enumExportPath, bool preconfigure)
        {
            var deviceServices = new List <BaseDeviceService>();

            foreach (var pnpDriverDirectory in pnpDriverDirectories)
            {
                var hardwareIDs = UISelectHardwareID(pnpDriverDirectory, installation, useLocalHardwareConfig, enumExportPath);

                if (0 == hardwareIDs.Count)
                {
                    // No device has been selected, exit.
                    // UISelectDeviceID has already printed an error message
                    Program.Exit();
                }

                foreach (var hardwareID in hardwareIDs)
                {
                    Console.WriteLine("Integrating PNP driver for '" + hardwareID + "'");
                    var integrator = new PNPDriverIntegrator(
                        pnpDriverDirectory,
                        installation,
                        hardwareID,
                        useLocalHardwareConfig,
                        enumExportPath,
                        preconfigure);
                    integrator.IntegrateDriver();
                    deviceServices.AddRange(integrator.DeviceServices);
                }
            }
            return(deviceServices);
        }
 public PNPDriverGUIModeIntegrator(PNPDriverDirectory driverDirectory, WindowsInstallation installation, string hardwareID)
     : base(driverDirectory, installation.ArchitectureIdentifier, installation.MinorOSVersion, installation.ProductType, hardwareID)
 {
     _installation = installation;
 }
Ejemplo n.º 7
0
        public static void IntegrateTextModeDrivers(List <TextModeDriverDirectory> textModeDriverDirectories, WindowsInstallation installation)
        {
            foreach (var textModeDriverDirectory in textModeDriverDirectories)
            {
                var deviceID = UISelectDeviceID(textModeDriverDirectory);
                if (deviceID == string.Empty)
                {
                    // No device has been selected, exit.
                    // UISelectDeviceID has already printed an error message
                    Program.Exit();
                }

                var integrator = new TextModeDriverIntegrator(textModeDriverDirectory, installation, deviceID);
                integrator.IntegrateDriver();
            }
        }
Ejemplo n.º 8
0
 public TextModeDriverIntegrator(TextModeDriverDirectory driverDirectory, WindowsInstallation installation, string deviceID)
 {
     _driverDirectory = driverDirectory;
     _installation    = installation;
     _deviceID        = deviceID;
 }
Ejemplo n.º 9
0
 public USBBootIntegrator(WindowsInstallation installation)
 {
     _installation = installation;
 }
        public void CanCreateWindowsInstallation()
        {
            var installation = new WindowsInstallation();

            Assert.Equal(NotificationPlatform.Wns, installation.Platform);
        }
Ejemplo n.º 11
0
 public KernelAndHalIntegrator(WindowsInstallation installation)
 {
     _installation = installation;
 }