public void Refresh() { _deviceManager.RefreshDeviceList(); Clear(); // Determine how many WPD devices are connected var deviceIds = new string[1]; uint count = 1; _deviceManager.GetDevices(ref deviceIds[0], ref count); if (count == 0) { return; // no devices connected } // Retrieve the device ID for each connected device deviceIds = new string[count]; _deviceManager.GetDevices(ref deviceIds[0], ref count); // Add devices to our collection for (int i = 0; i < deviceIds.Length; i++) { Add(new PortableDevice(deviceIds[i])); } }
private void RefreshDevices() { portableDevices.Clear(); deviceManager.RefreshDeviceList(); uint _countDevices = 1; deviceManager.GetDevices(null, ref _countDevices); var devicesIds = new string[_countDevices]; deviceManager.GetDevices(devicesIds, ref _countDevices); countDevices = _countDevices; }
/// <summary> /// 枚举所有便携式设备(MTP模式) /// </summary> /// <returns>返回设备id数组</returns> private static string[] EnumerateDevices() { string[] devicesIds = null; PortableDeviceManagerClass deviceManager = new PortableDeviceManagerClass(); uint deviceCount = 1; //设备数目初始值必须大于0 deviceManager.GetDevices(null, ref deviceCount); //获取设备数目必须置第一个参数为null if (deviceCount > 0) { devicesIds = new string[deviceCount]; deviceManager.GetDevices(devicesIds, ref deviceCount); } return(devicesIds); }
public static string[] GetDeviceIds() { var deviceManager = new PortableDeviceManagerClass(); uint deviceCount = 1; deviceManager.GetDevices(null, ref deviceCount); if (deviceCount < 1) { return(new string[0]); } var deviceIds = new string[deviceCount]; deviceManager.GetDevices(ref deviceIds[0], ref deviceCount); return(deviceIds); }
/// <summary> /// ポータブル デバイスを列挙します。 /// </summary> /// <returns>ポータブル デバイスのコレクション。</returns> public static IEnumerable <WpdDevice> EnumDevices() { var m = new PortableDeviceManagerClass(); uint count = 1; m.GetDevices(null, ref count); if (count == 0) { yield break; } var ids = new string[count]; m.GetDevices(ids, ref count); foreach (var id in ids) { yield return(new WpdDevice(id)); } }
/// <summary> /// ポータブル デバイスを列挙します。 /// </summary> /// <returns>ポータブル デバイスのコレクション。</returns> public static IEnumerable<WpdDevice> EnumDevices() { var m = new PortableDeviceManagerClass(); uint count = 1; m.GetDevices( null, ref count ); if( count == 0 ) { yield break; } var ids = new string[ count ]; m.GetDevices( ids, ref count ); foreach( var id in ids ) { yield return new WpdDevice( id ); } }