Hello Eric,

> the device concept will disappear and be replaced by a "path gate":
>       in NT-Win32 name space, point where to convert from a
>       NT-path to a Unix-path
> 
>       for example, assuming we have created a path-gate from
>       \\??\c: to /mnt/windows, the NT-path \\??\c:\foo\bar
>       will be transformed into the unix-path /mnt/windows/foo/bar

It would be good to implement this "path gates" as near as possible like the way it is 
implemented in Windows NT/XP. This mapping is done using the NT object namespace. 
Object namespace is another virtual tree structure similar to a file system or the 
registry. It is accessed by functions like NtOpenDirectoryObject(), 
NtOpenSymbolicLinkObject(), NtQueryDirectoryObject(), NtQuerySymbolicLinkObject(), ... 
There has been a tool in the internet called "winobj.exe", with which you can examine 
this internal NT object namespace. However it is not compatible to XP, I don't know, 
if someone has yet updated it. But I do have a own program which can display it also 
for XP.
Drive mapping is stored as symbolic links for example at "\GLOBAL??\D:". This links 
point to the partitions, like e.g. "\Device\HarddiskVolume3". There are also the 
ArcNames, which you can find in the NT bootloader config file "boot.ini". At 
"\ArcName\multi(0)disk(0)rdisk(0)" you can find another symbolic link to 
"\Device\Harddisk0\Partition0".

This examples are from my XP system. System versions before XP used a bit of another 
mapping schema. 

By the way: You can also find the whole registry as a subtree in the NT object 
namespace at paths like "\REGISTRY\HKEY_LOCAL_MACHINE\.... Would not be bad, if we 
could implement this also.

--
Martin Fuchs
[EMAIL PROTECTED]


Reply via email to