This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Why does cygwin1.dll use NtCreateFile() instead of CreateFile()
- From: Brian Ford <ford at vss dot fsi dot com>
- To: Dan Ch <force296-cygwin at yahoo dot com>
- Cc: cygwin at cygwin dot com
- Date: Mon, 31 Jan 2005 09:05:13 -0600
- Subject: Re: Why does cygwin1.dll use NtCreateFile() instead of CreateFile()
- References: <20050130182916.55154.qmail@web80109.mail.yahoo.com>
- Reply-to: cygwin at cygwin dot com
On Sun, 30 Jan 2005, Dan Ch wrote:
> I noticed that cygwin-1.5.12-1/winsup/cygwin/fhandler.cc
> uses NtCreateFile() instead of CreateFile() on Windows NT based
> operating systems (NT, 2000, 2003, XP) for opening files. Why? I
> checked the archives for this mailing list and noted some activity
> that discuses some side affects caused by using NtCreateFile()
> instead of CreateFile() such as being able to use file names that are
> off limits to normal Windows applications. But I could not find
> anything that explains the benefits of using NtCreateFile() instead
> of CreateFile().
>
IIRC, NtCreateFile is significantly cheaper if you already have a file
handle, especially on network drives where the name to handle translation
and open are fairly expensive. The original reason was purely
performance (since I believe my company paid for some of this
optimization).
--
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained pilot...
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/