This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Ejecting a USB drive using Cygwin (sync)?
Brian Inglis wrote:
> On 2018-01-23 16:36, Steven Penny wrote:
> > On Tue, 23 Jan 2018 14:13:24, Brian Inglis wrote:
> >> I found the following utility works well without elevation - Windows
> >> code from
> >> http://www.leapsecond.com/tools/eject.{c,exe}:
> >>
> >> // eject -- Allow safe removal of USB thumb drive.
> >> // - Command line tool to flush/dismount/eject USB drive.
> >> // - Simpler than mouse clicking through taskbar "Safely Remove
> >> Hardware" icon.
> >> // - Usable in batch file scripts.
> >> // 02-Nov-2012 Tom Van Baak (tvb) www.LeapSecond.com/tools ...
> >> // Per MSDN, follow procedure for safe removal of USB drive.
> >> int drive_eject (char *drive)
> >> {
> >> HANDLE hDev;
> >> // Convert vintage DOS drive letter to weird Windows object
> >> pathname.
> >> char path[10];
> >> sprintf(path, "\\\\.\\%s", drive);
> >> // Open (with write, but no lock) to flush pending writes.
> >> DEV_OPEN(path, GENERIC_READ | GENERIC_WRITE);
> >> FlushFileBuffers(hDev);
> >> CloseHandle(hDev);
> >> // Open (with read, and lock) to dismount and eject.
> >> DEV_OPEN(path, GENERIC_READ);
> >> DEV_IOCTL(FSCTL_LOCK_VOLUME);
> >> DEV_IOCTL(FSCTL_DISMOUNT_VOLUME);
> >> DEV_IOCTL(IOCTL_STORAGE_EJECT_MEDIA);
> >> DEV_IOCTL(FSCTL_UNLOCK_VOLUME);
> >> CloseHandle(hDev);
> >> return 0;
> >> }
> >
> > No, this is not the code from that site. The code is similar, but I
> > see you have at least removed some empty lines. If you are going to do
> > so, you need to clearly present said changes to the community -
> > something like "adapted from http://..." or "modified from http://...",
> > etc.
> >
> > Software copyright - even open source license is serious, and you
> > should give it due respect.
>
> I was providing information, that's why I said /from/, gave the link to
> the original, and included the copyright, which does not include a link
> to the MSDN article it mentions:
I expect it's referring to this article:
https://support.microsoft.com/en-us/help/165721.
There's another quite good article on it at
https://www.codeproject.com/Articles/259577/How-to-flush-a-storage-volumes-t
he-file-cache-lock
> checking any licences are left as an
> exercise for any reader who wants to make use of the program or code
> other than for their own private use.
What licence is the ellipsis you added to the copyright line released under?
;o)
--dra
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple