I don't need VSS at all? So BackupRead will alert the file's owner to flush
the file like VSS does? What if the actual copying is being done by code
other than mine? Ideally, I want to create the snapshot, pass the exposed
volume to the component to handle the rest, etc. Anyway, I was looking for a
simple solution. Looks like calling vshadow.exe and scripting it will end up
being the way to go. Shame.
> The VSS team is not owning the SDK and it's samples, nor do they care
> about managed code, the API is exposed through COM and C++ interfaces just
[quoted text clipped - 30 lines]
>>> C> experience with this.
>>> C>
Willy Denoyette [MVP] - 14 Nov 2007 21:00 GMT
>I don't need VSS at all? So BackupRead will alert the file's owner to flush
>the file like VSS does? What if the actual copying is being done by code
[quoted text clipped - 38 lines]
>>>> C> experience with this.
>>>> C>
Willy Denoyette [MVP] - 14 Nov 2007 21:13 GMT
VSS can't alert the owning program unless this one implements the VSWriter
interfaces. That means that the application needs to be modified for this.
When the application does not implement VSWriter, the File System will
simply be "alerted" to flush the FS buffers, but this is no guaranteed to be
free of incomplete I/Writer operations and data corruption, the shadow image
is said to be in a "Crash-Consistent state". If you need application
recovery state, you have to implement a writer in the application owning the
file(s).
Willy.
>I don't need VSS at all? So BackupRead will alert the file's owner to flush
>the file like VSS does? What if the actual copying is being done by code
[quoted text clipped - 38 lines]
>>>> C> experience with this.
>>>> C>
CMM - 14 Nov 2007 21:27 GMT
Yes, I'm aware of that. The question remains: there is no way, no working
examples, and no experience with using C# or VB.NET to create and expose a
shadow snapshot of a volume, right?
> VSS can't alert the owning program unless this one implements the VSWriter
> interfaces. That means that the application needs to be modified for this.
[quoted text clipped - 50 lines]
>>>>> C> experience with this.
>>>>> C>
Willy Denoyette [MVP] - 14 Nov 2007 22:10 GMT
That's right because like I have said, the VSS interfaces are not directly
usable from "pure" managed code, you have to write a wrapper in C++/CLI
(mixed managed unmanaged code) for this.
Willy.
> Yes, I'm aware of that. The question remains: there is no way, no working
> examples, and no experience with using C# or VB.NET to create and expose a
> shadow snapshot of a volume, right?
>> VSS can't alert the owning program unless this one implements the
>> VSWriter interfaces. That means that the application needs to be modified
[quoted text clipped - 52 lines]
>>>>>> C> experience with this.
>>>>>> C>
CMM - 15 Nov 2007 00:41 GMT
Thank you. That was my question and the title of my post. I think even a
(simple) COM object (callable from .NET) that duplicates vshadow.exe would
have been useful. Looks like I have to rethink our strategy.
> That's right because like I have said, the VSS interfaces are not directly
> usable from "pure" managed code, you have to write a wrapper in C++/CLI
[quoted text clipped - 63 lines]
>>>>>>> C> experience with this.
>>>>>>> C>