private static void usbMuxMode(ref AMDeviceNotificationCallbackInfo callback_info, uint cookie) { IntPtr devHandle = callback_info.dev; if (devHandle == IntPtr.Zero) { return; } AMDevice dev = new AMDevice(devHandle); if (AMDeviceGetInterfaceType(devHandle) != DEVICE_INTERFACE_USB) { return; } if (callback_info.msg == DEVICE_CONNECTED) { dev.WriteLine("Device Connected"); Program.OnDeviceAttached(dev); } if (callback_info.msg == DEVICE_DISCONNECTED) { dev.WriteLine("Device Disconnected"); } }
static void NotifyCallback(ref AMDeviceNotificationCallbackInfo info) { switch (info.msg) { case NotificationMessage.Connected: Debug.WriteLine("连接"); Debug.WriteLine(info.Device); OnConnected(new DeviceEventArgs() { Device = info.Device }); break; case NotificationMessage.Disconnected: Debug.WriteLine("断开"); Debug.WriteLine(info.Device); OnDisconnected(new DeviceEventArgs() { Device = info.Device }); break; case NotificationMessage.Unknown: Debug.WriteLine("断开"); break; default: throw new NotSupportedException(); } }
static void usbMuxMode(ref AMDeviceNotificationCallbackInfo callback_info) { if (callback_info.msg == 1) { Console.WriteLine("Device connected in Usb Multiplexing mode"); DoMyCode(); } else if (callback_info.msg == 2) Console.WriteLine("Device disconnected when in Usb Multiplexing mode"); else Console.WriteLine("Device in unknown usbmux mode"); IntPtr devHandle = callback_info.dev; }
static void usbMuxMode(ref AMDeviceNotificationCallbackInfo callback_info) { if (callback_info.msg == 1) { Console.WriteLine("Device connected in Usb Multiplexing mode"); DoMyCode(); } else if (callback_info.msg == 2) { Console.WriteLine("Device disconnected when in Usb Multiplexing mode"); } else { Console.WriteLine("Device in unknown usbmux mode"); } IntPtr devHandle = callback_info.dev; }
/// <summary> /// 正常链接回调 /// </summary> /// <param name="callback">The callback.</param> private void NotificationCallback(ref AMDeviceNotificationCallbackInfo callback) { try { switch (callback.Msg) { case ConnectNotificationMessage.Connected: var device = FindConnectedDevice(callback.DevicePtr); if (device == null) { device = new iOSDevice(callback.DevicePtr); currentConnectedDevice.Add(device); } CommonConnectEvent?.Invoke(this, new DeviceCommonConnectEventArgs(device, ConnectNotificationMessage.Connected)); break; case ConnectNotificationMessage.Disconnected: var disConnectDevice = FindConnectedDevice(callback.DevicePtr); if (disConnectDevice != null) { currentConnectedDevice.Remove(disConnectDevice); } CommonConnectEvent?.Invoke(this, new DeviceCommonConnectEventArgs(disConnectDevice, ConnectNotificationMessage.Disconnected)); break; case ConnectNotificationMessage.Unknown: break; } } catch (Exception ex) { ListenErrorEvent?.Invoke(this, new ListenErrorEventHandlerEventArgs(ex.Message, ListenErrorEventType.Connect)); } }
private static void usbMuxMode(ref AMDeviceNotificationCallbackInfo callback_info, uint cookie) { IntPtr devHandle = callback_info.dev; if ( devHandle == IntPtr.Zero ) { return; } AMDevice dev = new AMDevice(devHandle); if ( AMDeviceGetInterfaceType(devHandle) != DEVICE_INTERFACE_USB ) { return; } if ( callback_info.msg == DEVICE_CONNECTED ) { dev.WriteLine("Device Connected"); Program.OnDeviceAttached(dev); } if ( callback_info.msg == DEVICE_DISCONNECTED ) { dev.WriteLine("Device Disconnected"); } }