How to look up volume GUID from both kernel + user-level?

Hey guys.

I have a quick question. I’ve looked all over google with no luck so
I decided to message the mailing list :slight_smile:

Given the Dos path or the NT real path to a file in the kernel or
user-level app, I was just wondering what’s the easiest way to
determine the volume GUID for the volume that the file resides on? I
see there is a way to go from volume GUID to dos path using
GetVolumePathNamesForVolumeName, but I was hoping for the reverse
mapping. I know this question is tedious, but any information be
greatly appreciated.

Thanks!

What about using GetVolumeNameForVolumeMountPoint in user mode and IOCTL_MOUNTMGR_QUERY_POINTS in kernel mode ?

Thanks. This works great!

One question I have (which I apologize if it is off-topic for this
mailing list) is whether anyone knows if there is an IRC channel
dedicated to windows drivers discussion (Possibly an OSR IRC channel?)
? I hate polluting mailing lists with my newbie questions and it
would definitely be much more convenient for me if there was something
a bit more interactive.

Thanks!

On Tue, Feb 23, 2010 at 11:27 PM, wrote:
> What about using GetVolumeNameForVolumeMountPoint ?in user mode and IOCTL_MOUNTMGR_QUERY_POINTS in kernel mode ?
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

You could also use VolumeMF3 interface of VDS to retrieve GUID Volume in an user application. Unfortunately this Interface only available since Windows 2008 SP2 but I always prefer to use VDS than Volume Management functions, which include GetVolumeNameForVolumeMountPoint.

Igor Sharovar

I started playing around a little bit with
GetVolumeNameForVolumeMountPoint and it doesn’t seem to work for
mapped network drives. I am not quite sure though. The system error
code I get is: 3 ERROR_PATH_NOT_FOUND.

The way I use the function is as follows

  1. Use GetVolumePathName to get the volume path name. (converts
    mapped network drive: z:\folder\myFile.txt –> z:).
  2. Feed this into GetVolumeNameForVolumeMountPoint to get the volume guid path.

This procedure works fine for local volumes, but does not work for
network shares or mapped network drives :frowning:

As mentioned before, GetVolumeNameForVolumeMountPoint returns error
code 3 = ERROR_PATH_NOT_FOUND

Any ideas?

On Wed, Feb 24, 2010 at 8:53 AM, wrote:
> You could also use VolumeMF3 interface of VDS to retrieve GUID Volume in an user application. Unfortunately this Interface only available since Windows 2008 SP2 but I always prefer to use VDS than Volume Management functions, which include GetVolumeNameForVolumeMountPoint.
>
> Igor Sharovar
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

A polluting question is along the lines of “How do I build my driver”, which
is usually replied to with a RTFM. Or, “NtKernel has a bug in it 'cuz my
system bugchecked and my driver is not in the callstack”. Or, “how can I
build my driver using the GNU compiler?” Another RTFM. In other words, you
ain’t polluted noth’n. :slight_smile:

To my knowledge there is no IRC or chat-room devoted to the topic of driver
development. Probably a good thing since then none of us would get any work
done.

Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jonathon
Sent: Wednesday, February 24, 2010 9:20 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] How to look up volume GUID from both kernel +
user-level?

Thanks. This works great!

One question I have (which I apologize if it is off-topic for this
mailing list) is whether anyone knows if there is an IRC channel
dedicated to windows drivers discussion (Possibly an OSR IRC channel?)
? I hate polluting mailing lists with my newbie questions and it
would definitely be much more convenient for me if there was something
a bit more interactive.

Thanks!

On Tue, Feb 23, 2010 at 11:27 PM, wrote:
> What about using GetVolumeNameForVolumeMountPoint ?in user mode and
IOCTL_MOUNTMGR_QUERY_POINTS in kernel mode ?
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
>


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Information from ESET Smart Security, version of virus signature
database 4892 (20100224)


The message was checked by ESET Smart Security.

http://www.eset.com

Information from ESET Smart Security, version of virus signature
database 4892 (20100224)


The message was checked by ESET Smart Security.

http://www.eset.com

>This procedure works fine for local volumes, but does not work for

network shares or mapped network drives :frowning:

There is just plain no such thing as “volume GUID” for a redirector’s volume.

Local disk filesystems only.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com