Re: NtCreateFile and STATUS_OBJECT_PATH_NOT_FOUND (0x0000003A)

"Craig Edwards" <[email protected]>
Newsgroups gmane.linux.ports.xbox.devel
Organization H.A. Enterprises Pty Ltd
Message-ID <[email protected]>
On Sun, 1 Aug 2004 10:45:20 -0700, Myria <[email protected]>  
wrote:
> That is a Windows NT thing, not Xbox.  In Win32, the CreateFile API call
> does not directly access the root of the NT namespace - kernel32.dll uses
> ObDosDevices and translates to NtCreateFile.  However, there is a "back
> door" in this mechanism.  \\.\ in Win32 means to open any object that is  
> in
> \?? aka \DosDevices.  There are many symbolic links there, like LPT1, so  
> you
> can open \\.\LPT1 with CreateFile.  The notation \\.\ looks like a UNC  
> path
> with "yourself" as the computer name, but it isn't the same as putting  
> your
> computer's name there.  GLOBALROOT is a symbolic link to \, the root of  
> the
> NT namespace.  In other words, \??\GLOBALROOT is a symlink to \.  This
> allows you to open any file object in the NT namespace using CreateFile,
> without having to bypass it and directly call NtCreateFile.  (This means
> that GLOBALROOT is rather useless if you are using NtCreateFile.   
> GLOBALROOT
> does not exist on Xbox.)

Again, many thanks for the thorough explanation.  Hopefully I have all  
bases covered now... thanks.

--
Craig Edwards


-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.