private void OnDeviceArrival(DeviceBroadcastHeader dbh, IntPtr ptr) { if (dbh.DeviceType == 0x05) { DeviceBroadcastInterface dbi = (DeviceBroadcastInterface)Marshal.PtrToStructure(ptr, typeof(DeviceBroadcastInterface)); if (dbi.ClassGuid == _deviceClass && DeviceArrival != null) { DeviceArrival(this, EventArgs.Empty); } } }
private void OnDeviceRemoval(DeviceBroadcastHeader header, IntPtr ptr) { if (header.DeviceType == 0x06) { DeviceBroadcastHandle dbh = (DeviceBroadcastHandle)Marshal.PtrToStructure(ptr, typeof(DeviceBroadcastHandle)); if (dbh.Handle != _deviceHandle.DangerousGetHandle()) { return; } CancelIo(_deviceHandle); UnregisterDeviceRemoval(); if (DeviceRemoval != null) { DeviceRemoval(this, EventArgs.Empty); } } }
private void OnDeviceRemoval(DeviceBroadcastHeader header, IntPtr ptr) { if (header.DeviceType == 0x06) { DeviceBroadcastHandle dbh = (DeviceBroadcastHandle)Marshal.PtrToStructure(ptr, typeof (DeviceBroadcastHandle)); if (dbh.Handle != _deviceHandle.DangerousGetHandle()) { return; } CancelIo(_deviceHandle); UnregisterDeviceRemoval(); if (DeviceRemoval != null) { DeviceRemoval(this, EventArgs.Empty); } } }
private void OnDeviceArrival(DeviceBroadcastHeader dbh, IntPtr ptr) { if (dbh.DeviceType == 0x05) { DeviceBroadcastInterface dbi = (DeviceBroadcastInterface)Marshal.PtrToStructure(ptr, typeof (DeviceBroadcastInterface)); if (dbi.ClassGuid == _deviceClass && DeviceArrival != null) { DeviceArrival(this, EventArgs.Empty); } } }
private void OnDeviceRemoval(DeviceBroadcastHeader header, IntPtr ptr) { if (header.DeviceType == 0x06) { DeviceBroadcastHandle dbh = (DeviceBroadcastHandle) Marshal.PtrToStructure(ptr, typeof (DeviceBroadcastHandle)); if (dbh.Handle != _deviceHandle) return; CancelIo(_deviceHandle); UnregisterDeviceRemoval(); if (DeviceRemoval != null) DeviceRemoval(); } }