private void Notify(DriveDetectorEventHandler handler, WindowMessage msg) { if (handler == null) { return; } var vol = msg.GetLParamAsStruct <DEV_BROADCAST_VOLUME>(); var driveLetter = DriveMaskToLetter(vol.dbcv_unitmask); var drivePath = driveLetter + @":\"; var args = new DriveDetectorEventArgs { DriveInfo = DriveInfo.GetDrives().FirstOrDefault(info => info.Name == drivePath) }; handler(this, args); }