Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Mon, 31 Jan 2005 09:05:13 -0600 From: Brian Ford Reply-To: cygwin AT cygwin DOT com To: Dan Ch cc: cygwin AT cygwin DOT com Subject: Re: Why does cygwin1.dll use NtCreateFile() instead of CreateFile() In-Reply-To: <20050130182916.55154.qmail@web80109.mail.yahoo.com> Message-ID: References: <20050130182916 DOT 55154 DOT qmail AT web80109 DOT mail DOT yahoo DOT com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-OriginalArrivalTime: 31 Jan 2005 15:04:57.0420 (UTC) FILETIME=[3A4FC8C0:01C507A6] X-IsSubscribed: yes 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/