Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: "anton bassov" <soviet_bloke@xxxxxxxxxxx>
- Date: 7 Jan 2007 09:37:40 -0800
Arkady,
Sure, but that not suit all his his purposes as OP wrote from beginning
I just avoided mentioning QueryDosDevice() simply because the OP made
that clear that it supposedly does not work for him. Instead, I
proposed him a solution with ZwOpenSymbolicLinkObject() -
ZwQuerySymbolicLinkObject() pair , and he seems to be happy with it.
The funny part here is that
ZwOpenSymbolicLinkObject()-ZwQuerySymbolicLinkObject() pair, is, in
actuality, nothing more that just QueryDosDevice()'s internal
implementation - he is going to achieve *EXACTLY* the same results with
QueryDosDevice().....
Anton Bassov
Arkady Frenkel wrote:
Sure, but that not suit all his his purposes as OP wrote from beginning
Arkady
"Doron Holan [MS]" <doronh@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:ez4n3rIMHHA.5016@xxxxxxxxxxxxxxxxxxxxxxx
in user mode you can just use QueryDosDevice to get the mapping without
using undocumented user mode APIs.
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no
rights.
"Arkady Frenkel" <arkadyf@xxxxxxxxxxxxxxxx> wrote in message
news:ur0tK99LHHA.1252@xxxxxxxxxxxxxxxxxxxxxxx
You can use ZwQueryDirectoryObject() for "GLOBAL??" too.
You can see the results in WinObj.exe from sysinternals.com
Arkady
"Mario Beutler" <mario.beutler@xxxxxxxxxx> wrote in message
news:1167897103.865952.302420@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Anton, thank you for your clear answer!
Mario
anton bassov wrote:
If you need a generic solution that works in both kernel and user mode,
the whole things can be done like ZwOpenSymbolicLink() -
ZwQuerySymbolicLink() sequence for each drive letter (A;B;C;D,etc. If
the target volume is mounted on a partition of a basic disk, you will
get a string in the form "\Device\HarddiskVolumeX\...". If the target
volume is mounted on a partition of a removable USB disk, you will get
a string in the form "\Device\HarddiskX\DP(1)0-0+b\..." If the target
volume is a network drive, you will get a string in the form
"\Device\LanmanRedirector\ServerX\...". ). In other words, you have no
chance to miss your target string.
If you want a solution that works only in the kernel mode, you can
check IoVolumeDeviceToDosName() (or RtlVolumeDeviceToDosName(), if you
want your code to run on W2K as well ) documentation on MSDN....
Anton Bassov
Mario Beutler wrote:
Hello,
How to convert the following full file names into "normal" file
names:
\Device\HarddiskVolume1\windows\system32\lsass.exe
\Device\Harddisk5\DP(1)0-0+b\test.exe
\Device\LanmanRedirector\Server007\TEMP\test.exe
I need the "normal" file names like:
C:\windows\system32\lsass.exe
J:\test.exe (<-This is a USB drive.)
\\Server007\TEMP\test.exe
I tried GetVolumePathNamesForVolumeName,
GetVolumeNameForVolumeMountPoint, GetFullPathName and
QueryDosDevice -
but nothing seems to work for all cases (e.g. USB, network shares).
Any ideas? Thanks.
Mario
.
- Follow-Ups:
- Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: Arkady Frenkel
- Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- References:
- How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: Mario Beutler
- Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: anton bassov
- Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: Mario Beutler
- Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: Arkady Frenkel
- Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: Doron Holan [MS]
- Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- From: Arkady Frenkel
- How to convert "\Device\HarddiskVolume1\" to "C:\"
- Prev by Date: Re: How to close the file automatically when another application tries to open the same file?
- Next by Date: Writing File System Driver & Creating Virtual Disk Drive in Windows XP [Question by a Novice]
- Previous by thread: Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- Next by thread: Re: How to convert "\Device\HarddiskVolume1\" to "C:\"
- Index(es):
Relevant Pages
|