Beispiel #1
0
        public static bool EnumClassDevs(string enumerator,
                                         DICFG flags,
                                         ClassEnumeratorDelegate classEnumeratorCallback,
                                         object classEnumeratorCallbackParam1)
        {
            SP_DEVINFO_DATA dev_info_data = SP_DEVINFO_DATA.Empty;

            int dev_index = 0;

            IntPtr dev_info = SetupDiGetClassDevs(0, enumerator, IntPtr.Zero, flags);

            if (dev_info == IntPtr.Zero || dev_info.ToInt64() == -1)
            {
                return(false);
            }
            bool bSuccess = false;

            while (SetupDiEnumDeviceInfo(dev_info, dev_index, ref dev_info_data))
            {
                if (classEnumeratorCallback(dev_info, dev_index, ref dev_info_data, classEnumeratorCallbackParam1))
                {
                    bSuccess = true;
                    break;
                }

                dev_index++;
            }

            SetupDiDestroyDeviceInfoList(dev_info);

            return(bSuccess);
        }
Beispiel #2
0
 public static extern IntPtr SetupDiGetClassDevs(int ClassGuid, string Enumerator, IntPtr hwndParent, DICFG Flags);
Beispiel #3
0
 public static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid,
                                                 [MarshalAs(UnmanagedType.LPTStr)] string Enumerator,
                                                 IntPtr hwndParent,
                                                 DICFG Flags);
Beispiel #4
0
 public static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid, int Enumerator, IntPtr hwndParent, DICFG Flags);
Beispiel #5
0
 public static extern IntPtr SetupDiGetClassDevs(int ClassGuid, string Enumerator, IntPtr hwndParent, DICFG Flags);
Beispiel #6
0
 public static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid, int Enumerator, IntPtr hwndParent, DICFG Flags);
Beispiel #7
0
 public static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid,
     [MarshalAs(UnmanagedType.LPTStr)] string Enumerator,
     IntPtr hwndParent,
     DICFG Flags);
Beispiel #8
0
        public static bool EnumClassDevs(string enumerator,
            DICFG flags,
            ClassEnumeratorDelegate classEnumeratorCallback,
            object classEnumeratorCallbackParam1)
        {
            SP_DEVINFO_DATA dev_info_data = SP_DEVINFO_DATA.Empty;

            int dev_index = 0;

            IntPtr dev_info = SetupDiGetClassDevs(0, enumerator, IntPtr.Zero, flags);

            if (dev_info == IntPtr.Zero || dev_info.ToInt64() == -1) return false;
            bool bSuccess = false;
            while (SetupDiEnumDeviceInfo(dev_info, dev_index, ref dev_info_data))
            {
                if (classEnumeratorCallback(dev_info, dev_index, ref dev_info_data, classEnumeratorCallbackParam1))
                {
                    bSuccess = true;
                    break;
                }

                dev_index++;
            }

            SetupDiDestroyDeviceInfoList(dev_info);

            return bSuccess;
        }
Beispiel #9
0
 public static extern SafeDeviceInfoSetHandle SetupDiGetClassDevsA(IntPtr ClassGuid, [MarshalAs(UnmanagedType.LPStr)] string Enumerator, IntPtr hwndParent, DICFG Flags);