delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:from:to:references:in-reply-to:subject:date | |
:message-id:mime-version:content-type:content-transfer-encoding; | |
q=dns; s=default; b=HUDH1+dPnWy6Yxpkr4EAISP/R5QfCttvT91MICxtB12 | |
RrwVpIngDusl1tl67O28oW64lJ6RlpNOYNlsYyLP6Aga9yQRhzEc1LS9p6LMO6Zb | |
GyS9IhI7BZRqvPtu+gTDzuf3vAw0+aroBajWUPMlAMEh77pTNyIKDgLpcNkoHhOg | |
= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:from:to:references:in-reply-to:subject:date | |
:message-id:mime-version:content-type:content-transfer-encoding; | |
s=default; bh=JIbKwpDarl2TAPp19c1LoXTbcIY=; b=K1cxgwkqdHjO76O+1 | |
O12/tDKS0DD4JIrukIZsTO96NUK4gtCk4+nhtcyvWmgC+IJ1xjXTt1/drGKiqRRo | |
FLYdDVtm6SJUXRY8sXzKc84noW+zIZ+pnDbWJrSUMH2YTEox8UhR3qhJ7c+OSP6L | |
xn8hgtfeHA16Fv9dpu5e0S9Qik= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Virus-Found: | No |
X-Spam-SWARE-Status: | No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=Penny, licence, H*F:D*ac.uk, H*r:LOGIN |
X-HELO: | ppsw-31.csi.cam.ac.uk |
From: | "David Allsopp" <David DOT Allsopp AT cl DOT cam DOT ac DOT uk> |
To: | <cygwin AT cygwin DOT com> |
References: | <ca5d930a-326c-51a2-c82b-db8efcb0a2bc AT SystematicSw DOT ab DOT ca> <5a67c70d DOT 89349d0a DOT 83b53 DOT 40f2 AT mx DOT google DOT com> <4ce888e4-a825-be3b-afb5-77ba851a9760 AT SystematicSw DOT ab DOT ca> |
In-Reply-To: | <4ce888e4-a825-be3b-afb5-77ba851a9760@SystematicSw.ab.ca> |
Subject: | RE: Ejecting a USB drive using Cygwin (sync)? |
Date: | Thu, 25 Jan 2018 09:58:39 -0000 |
Message-ID: | <000301d395c3$1323f000$396bd000$@cl.cam.ac.uk> |
MIME-Version: | 1.0 |
X-IsSubscribed: | yes |
X-MIME-Autoconverted: | from quoted-printable to 8bit by delorie.com id w0P9wpYR021771 |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |