From: Markus G Markus on
Hello,

I was wondering if there is a reliable way of determining whether a volume
is a shadow copy volume or not from a minifilter driver. An obvious solution
is of course to look at the volume name and determining it from that. As far
as I know this is the only way of doing this in Windows XP.

In Vista there seems to be a function called FltIsVolumeSnapshot() which to
me at least seems to do exactly what I want. The question is; Does this
function only return true on these shadow copy volumes or on something else
also? From the documentation it's a bit unclear. Also is there a proper way
of doing this distinction in XP also, or is the only solution to look at the
volume name?

--Markus
From: Maxim S. Shatskih on
I think there was a code in SFILTER sample for this.

--
Maxim S. Shatskih
Windows DDK MVP
maxim(a)storagecraft.com
http://www.storagecraft.com

"Markus G" <Markus G(a)discussions.microsoft.com> wrote in message news:4EF233E6-02F2-4419-9E3A-4E7711560608(a)microsoft.com...
> Hello,
>
> I was wondering if there is a reliable way of determining whether a volume
> is a shadow copy volume or not from a minifilter driver. An obvious solution
> is of course to look at the volume name and determining it from that. As far
> as I know this is the only way of doing this in Windows XP.
>
> In Vista there seems to be a function called FltIsVolumeSnapshot() which to
> me at least seems to do exactly what I want. The question is; Does this
> function only return true on these shadow copy volumes or on something else
> also? From the documentation it's a bit unclear. Also is there a proper way
> of doing this distinction in XP also, or is the only solution to look at the
> volume name?
>
> --Markus
From: Scott Noone on
> In Vista there seems to be a function called FltIsVolumeSnapshot() which
> to
> me at least seems to do exactly what I want. The question is; Does this
> function only return true on these shadow copy volumes or on something
> else
> also?

FltIsVolumeSnapshot relies on querying the
GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY bit:

http://msdn.microsoft.com/en-us/library/aa381635(VS.85).aspx

Which was created for avoiding shadow volumes, so you should be safe with
that one.

For XP, you might find some esoteric IOCTL to send though I don't think of
that as being any more or less reliable than the name. The good thing about
XP is that it's pretty much static at this point, so you're fairly safe.

-scott

--
Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com


"Markus G" <Markus G(a)discussions.microsoft.com> wrote in message
news:4EF233E6-02F2-4419-9E3A-4E7711560608(a)microsoft.com...
> Hello,
>
> I was wondering if there is a reliable way of determining whether a volume
> is a shadow copy volume or not from a minifilter driver. An obvious
> solution
> is of course to look at the volume name and determining it from that. As
> far
> as I know this is the only way of doing this in Windows XP.
>
> In Vista there seems to be a function called FltIsVolumeSnapshot() which
> to
> me at least seems to do exactly what I want. The question is; Does this
> function only return true on these shadow copy volumes or on something
> else
> also? From the documentation it's a bit unclear. Also is there a proper
> way
> of doing this distinction in XP also, or is the only solution to look at
> the
> volume name?
>
> --Markus