Ejemplo n.º 1
0
 public bool DeletePackage(DriverStoreEntry dse, bool forceDelete)
 {
     var dummy = "";
     return PnpUtilHelper(forceDelete ? PnpUtilOptions.ForceDelete : PnpUtilOptions.Delete,
         dse.DriverPublishedName,
         ref dummy);
 }
Ejemplo n.º 2
0
        public List <DriverStoreEntry> EnumeratePackages()
        {
            var ldse   = new List <DriverStoreEntry>();
            var output = "";

            var result = PnpUtilHelper(PnpUtilOptions.Enumerate, "", ref output);

            if (result)
            {
                // Trace.TraceInformation("O/P of Enumeration : " + Environment.NewLine + output + Environment.NewLine);

                // Parse the output
                // [jenda_] Didn't work on non-english Windows - changed from string recognition to counting lines
                using (var sr = new StringReader(output))
                {
                    var      currentLine        = "";
                    string[] currentLineDivided = {};
                    var      dse     = new DriverStoreEntry();
                    byte     lineNum = 0;
                    while ((currentLine = sr.ReadLine()) != null)
                    {
                        currentLineDivided = currentLine.Split(':');
                        if (currentLineDivided.Length == 2)
                        {
                            currentLineDivided[1] = currentLineDivided[1].Trim();
                            switch (lineNum)
                            {
                            case 0:     // [jenda_] Published name :
                                dse.DriverPublishedName = currentLineDivided[1];
                                break;

                            case 1:     //Driver package provider :
                                dse.DriverPkgProvider = currentLine.Split(':')[1].Trim();
                                break;

                            case 2:     // [jenda_] Class :
                                dse.DriverClass = currentLine.Split(':')[1].Trim();
                                break;

                            case 3:     // [jenda_] Driver date and version :
                                var DateAndVersion = currentLine.Split(':')[1].Trim();
                                dse.DriverDate    = DateAndVersion.Split(' ')[0].Trim();
                                dse.DriverVersion = DateAndVersion.Split(' ')[1].Trim();
                                break;

                            case 4:     // [jenda_] Signer name :
                                dse.DriverSignerName = currentLine.Split(':')[1].Trim();

                                ldse.Add(dse);
                                dse = new DriverStoreEntry();
                                break;

                            default:
                                continue;
                            }
                            lineNum++;
                            if (lineNum > 4)
                            {
                                lineNum = 0;
                            }
                        }
                    }
                }
            }
            return(ldse);
        }
Ejemplo n.º 3
0
        public List<DriverStoreEntry> EnumeratePackages()
        {
            var ldse = new List<DriverStoreEntry>();
            var output = "";

            var result = PnpUtilHelper(PnpUtilOptions.Enumerate, "", ref output);
            if (result)
            {
                // Trace.TraceInformation("O/P of Enumeration : " + Environment.NewLine + output + Environment.NewLine);

                // Parse the output
                // [jenda_] Didn't work on non-english Windows - changed from string recognition to counting lines
                using (var sr = new StringReader(output))
                {
                    var currentLine = "";
                    string[] currentLineDivided = {};
                    var dse = new DriverStoreEntry();
                    byte lineNum = 0;
                    while ((currentLine = sr.ReadLine()) != null)
                    {
                        currentLineDivided = currentLine.Split(':');
                        if (currentLineDivided.Length == 2)
                        {
                            currentLineDivided[1] = currentLineDivided[1].Trim();
                            switch (lineNum)
                            {
                                case 0: // [jenda_] Published name :
                                    dse.DriverPublishedName = currentLineDivided[1];
                                    break;
                                case 1: //Driver package provider :
                                    dse.DriverPkgProvider = currentLine.Split(':')[1].Trim();
                                    break;
                                case 2: // [jenda_] Class :
                                    dse.DriverClass = currentLine.Split(':')[1].Trim();
                                    break;
                                case 3: // [jenda_] Driver date and version :
                                    var DateAndVersion = currentLine.Split(':')[1].Trim();
                                    // date and version may be empty
                                    if(DateAndVersion.Length > 0)
                                    {
                                        dse.DriverDate = DateAndVersion.Split(' ')[0].Trim();
                                        dse.DriverVersion = DateAndVersion.Split(' ')[1].Trim();
                                    }
                                    break;
                                case 4: // [jenda_] Signer name :
                                    dse.DriverSignerName = currentLine.Split(':')[1].Trim();

                                    ldse.Add(dse);
                                    dse = new DriverStoreEntry();
                                    break;
                                default:
                                    continue;
                            }
                            lineNum++;
                            if (lineNum > 4)
                                lineNum = 0;
                        }
                    }
                }
            }
            return ldse;
        }