private static void EnumerateObjects(PortableDeviceManagerClass deviceManager, string deviceId) { var device = OpenDevice(deviceId); IPortableDeviceContent deviceContent; device.Content(out deviceContent); EnumerateContent(PortableDeviceConstants.WPD_DEVICE_OBJECT_ID, deviceContent, ""); }
/// <summary> /// Private default constructor /// </summary> private PortableDeviceCollection(string appName, float majorVersion, float minorVersion) { if (string.IsNullOrEmpty(appName)) throw new ArgumentNullException("appName"); deviceManager = new PortableDeviceManagerClass(); portableDevices = new Dictionary<string, PortableDevice>(); this.appName = appName; this.majorVersion = majorVersion; this.minorVersion = minorVersion; AutoConnectToPortableDevice = true; }
/// <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); }
/// <summary> /// Private default constructor /// </summary> private PortableDeviceCollection(string appName, float majorVersion, float minorVersion) { if (string.IsNullOrEmpty(appName)) { throw new ArgumentNullException("appName"); } this.deviceManager = new PortableDeviceManagerClass(); this.portableDevices = new Dictionary <string, PortableDevice>(); this.appName = appName; this.majorVersion = majorVersion; this.minorVersion = minorVersion; this.AutoConnectToPortableDevice = true; }
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); }
static void Main(string[] args) { var deviceManager = new PortableDeviceManagerClass(); var devices = EnumerateAllDevices(deviceManager); foreach (var device in devices) { Console.WriteLine("========================================"); Console.WriteLine("ID:\t{0}", device.Id); Console.WriteLine("Name:\t{0}", device.FriendlyName); Console.WriteLine("Description:\t{0}", device.Description); Console.WriteLine(); EnumerateObjects(deviceManager, device.Id); Console.WriteLine("========================================"); Console.WriteLine(); } }
/// <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)); } }
public PortableDeviceCollection() { this._deviceManager = new PortableDeviceManagerClass(); }
/// <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 ); } }