AlphaVSS v.1.0 Beta

Advertisement
Advertisement

About AlphaVSS and Volume Shadow Copy ServiceThe Volume Shadow Copy Service (VSS) is a set of COM interfaces, delivered with various versions of Microsoft Windows, that implements a framework to allow volume backups to be performed while applications on a system continue to write to the volumes.AlphaVSS is a .NET class library written in C++/CLI aiming to provide a managed interface to this API. The goal is to provide an interface that is simple to use from a C# or VB.NET application, yet providing the full functionality of VSS.IntroductionUsing the Windows Volume Shadow Copy Service (VSS) on the .NET platform in C# (or VB) is somewhat problematic to say the least. There are numerous posts online about this issue, neither ever mentioning a robust solution that would allow full access to the VSS API from within a .NET application. The reasons are actually somewhat unclear, but it seems to have to do with there being COM interfaces without an IID, and also that several interfaces of the VSS API is not actually COM interfaces but rather C++ interfaces. This means there is no type library available for importing in your .NET application, and creating such a thing seems to not be possible. As mentioned there are several discussions on various forums available online on this topic so this will not be covered in more detail in this manual.The only viable solution to this problem seems to be to write a custom wrapper in managed C++/CLI, that provides a managed interface to the VSS API that can be used from .NET and C#. The number of interfaces, structures and functions in the Volume Shadow Copy API is quite large however, and writing a complete wrapper for all of this is not an attractive undertaking as part of your application development.Another issue is that there are several versions of VSS depending on what version of Microsoft Windows you are running and for which platform it is targeted. These versions unfortunately are not fully compatible with each other, but require linking against different .LIB-files and compiling against a different set of C++ .H-files.AlphaVSS is a library released under the MIT license written to remedy this situation and allow easy access to the full VSS API from within a managed C# or VB.NET application targeting the Microsoft Windows operating system.AlphaVSS duplicates the original VSS API quite closely, but some things have been changed to conform more to the .NET way of doing things. The following is a brief summary of some of the differences:Most of the interfaces from the VSS API are exposed as classes in AlphaVSS. So IVssSnapshotProp becomes VssSnapshotProp and so on.Identifiers are CamelCased and rewritten to avoid abbreviations and unneccessary prefixes. So eg. VSSSNAPSHOTCONTEXT becomes VssSnapshotContext, VSSCTXFILESHARE_BACKUP becomes FileShareBackup and so on.Errors are handled by exceptions and not return codes. AlphaVSS provides a full set of exception classes matching the various possible return codes from the native VSS API.Many methods of the interfaces are changed to avoid out parameters and to use standard .NET constructs instead of the more clumsy C++ constructs. This should be clear from the API Reference documentation.

About AlphaVSS and Volume Shadow Copy ...

 
  • AlphaVSS
  • 1.0 Beta
  • Peter Palotas
  • Windows All
  • Freeware
  • 8.2 Mb
  • 173
  • Free
 
 

Review AlphaVSS

  • captcha
 
 
New Components & Libraries software
  • DotConnect for MailChimp  v.1.7dotConnect for MailChimp is an ADO.NET provider for working with MailChimp data through the standard ADO.NET or Entity Framework interfaces.
  • Mgosoft PS To PDF SDK  v.9.1.2Mgosoft PS To PDF is a simple tool that supports converting PostScript (PS) documents effectively, into Portable Document Format (PDF) format files.
  • Devart ODBC Driver for MySQL  v.2.4Devart ODBC Driver for MySQL provides high-performance and feature-rich connectivity solution for ODBC-based applications to access MySQL databases from Windows, both 32-bit and 64-bit.
  • Devart ODBC Driver for InterBase  v.2.2Devart ODBC Driver for InterBase provides high-performance and feature-rich connectivity solution for ODBC-based applications to access InterBase databases from Windows, both 32-bit and 64-bit.
  • PidCrypt  v.002This is meant to facilitate a more efficient use of these methods and provide more compatibility with OpenSSL. Client side encryption is a must have for developing host proof applications: There must be no knowledge of the clear text data at the ...
  • XmlRpc  v.0.9.1It's built on top of WinInet rather than reimplementing the HTTP and HTTPS protocols, and therefore has automatic support for ...