From 4e8837594f2e93dfad0d37c4d7dfbdc7e7095bad Mon Sep 17 00:00:00 2001 From: Martin Fuchs Date: Sat, 31 Jan 2004 23:43:28 +0000 Subject: [PATCH] mount drives in NT object namespace svn path=/trunk/; revision=7947 --- reactos/subsys/system/explorer/doxy-footer.html | 2 +- .../subsys/system/explorer/shell/ntobjfs.cpp | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/reactos/subsys/system/explorer/doxy-footer.html b/reactos/subsys/system/explorer/doxy-footer.html index 5d45c00815d..32c0449b746 100644 --- a/reactos/subsys/system/explorer/doxy-footer.html +++ b/reactos/subsys/system/explorer/doxy-footer.html @@ -3,7 +3,7 @@
ROS Explorer Source Code Documentation -
generated on 31.01.2004 by +
generated on 01.02.2004 by
doxygen
diff --git a/reactos/subsys/system/explorer/shell/ntobjfs.cpp b/reactos/subsys/system/explorer/shell/ntobjfs.cpp index 5edea5fc49f..b92575577fb 100644 --- a/reactos/subsys/system/explorer/shell/ntobjfs.cpp +++ b/reactos/subsys/system/explorer/shell/ntobjfs.cpp @@ -31,6 +31,7 @@ #include "entries.h" #include "ntobjfs.h" +#include "winfs.h" #include "regfs.h" @@ -254,15 +255,17 @@ void NtObjDirectory::read_directory(int scan_flags) //@@_toscan |= INF_DESCRIPTION; - entry = new NtObjDirectory(this, buffer); - - if (*w32fd.cFileName>='A' &&*w32fd.cFileName<='Z' && w32fd.cFileName[1]==':') { - if (!_tcsncmp(buffer,TEXT("\\??\\"),4) || !_tcsncmp(buffer,TEXT("\\GLOBAL??\\"),10)) { - - ///@todo mount drive at this entry + entry = NULL; + if (*w32fd.cFileName>='A' &&*w32fd.cFileName<='Z' && w32fd.cFileName[1]==':') + if (!_tcsncmp(buffer,TEXT("\\??\\"),4) || // NT4 + !_tcsncmp(buffer,TEXT("\\GLOBAL??"),9)) { // XP + w32fd.dwFileAttributes |= FILE_ATTRIBUTE_DIRECTORY; + entry = new WinDirectory(this, w32fd.cFileName); } - } + + if (!entry) + entry = new NtObjDirectory(this, buffer); } else if (type == KEY_OBJECT) {