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 Message-ID: <20050201055938.66024.qmail@web80110.mail.yahoo.com> Date: Mon, 31 Jan 2005 21:59:38 -0800 (PST) From: Dan Ch Reply-To: force296-cygwin AT yahoo DOT com Subject: Re: Why does cygwin1.dll use NtCreateFile() instead of CreateFile() To: Brian Ford Cc: cygwin AT cygwin DOT com In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes On Mon, 31 Jan 2005, Brian Ford wrote: > 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). Thank you for answering my question. Now I understand why CreateFile() instead of NtCreateFile() probably did not cause any major bugs. Dan Ch. -- 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/