Update documentation and static class names for VSS

pull/267/head
dahall 2021-12-12 13:35:57 -07:00
parent 79703bd285
commit ce721c9185
4 changed files with 45 additions and 4 deletions

View File

@ -347,15 +347,53 @@ namespace Vanara { namespace PInvoke { namespace VssApi {
} }
}; };
/// <summary>
/// <para>
/// The <c>CVssWriter</c> class is an abstract base class that defines the interface by which a writer synchronizes its state with VSS
/// and other writers.
/// </para>
/// <para>Every writer must instantiate an object derived from <c>CVssWriter</c>.</para>
/// <para>Objects derived from <c>CVssWriter</c> must supply implementations for all of the <c>CVssWriter</c>'s pure virtual methods.</para>
/// <para>A writer can override one or all of <c>CVssWriter</c>'s virtual methods.</para>
/// <para>To participate in VSS, a writer must first call CVssWriter::Initialize and then call CVssWriter::Subscribe.</para>
/// <para>A writer terminates its participation by calling CVssWriter::Unsubscribe.</para>
/// <para>
/// The <c>CVssWriter</c> base class is responsible for the life cycle of interfaces passed to event handlers. This includes the following:
/// </para>
/// <list type="bullet">
/// <item>
/// <term>The instance of the IVssWriterComponents interface passed to: CVssWriter::OnPrepareBackup
/// <para>CVssWriter::OnBackupComplete</para>
/// <para>CVssWriter::OnPreRestore</para>
/// <para>CVssWriter::OnPostRestore</para>
/// <para>CVssWriter::OnPostSnapshot</para>
/// </term>
/// </item>
/// <item>
/// <term>The instance of the IVssCreateWriterMetadata interface passed to CVssWriter::OnIdentify.</term>
/// </item>
/// </list>
/// </summary>
// https://docs.microsoft.com/en-us/windows/win32/api/vswriter/nl-vswriter-cvsswriter
[PInvokeData("vswriter.h", MSDNShortId = "NL:vswriter.CVssWriter")]
public ref class CVssWriter : public IVssWriter public ref class CVssWriter : public IVssWriter
{ {
private: private:
CVssWriterImpl* pNative; CVssWriterImpl* pNative;
protected: protected:
// Constructors & Destructors /// <summary><c>CVssWriter</c> is the constructor of the CVssWriter class object.</summary>
/// <returns>None</returns>
// https://docs.microsoft.com/en-us/windows/win32/api/vswriter/nf-vswriter-cvsswriter-cvsswriter
STDMETHODCALLTYPE CVssWriter() : pNative(new CVssWriterImpl(this)) {} STDMETHODCALLTYPE CVssWriter() : pNative(new CVssWriterImpl(this)) {}
/// <summary>
/// <para><c>~CVssWriter</c> is the destructor of the CVssWriter class object.</para>
/// <para>This destructor is virtual and may be overridden by derived objects.</para>
/// </summary>
/// <returns>None</returns>
// https://docs.microsoft.com/en-us/windows/win32/api/vswriter/nf-vswriter-cvsswriter--cvsswriter
// void ~CVssWriter();
virtual STDMETHODCALLTYPE ~CVssWriter() virtual STDMETHODCALLTYPE ~CVssWriter()
{ {
if (pNative != NULL) if (pNative != NULL)

View File

@ -76,6 +76,8 @@
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetName>$(ProjectName)</TargetName> <TargetName>$(ProjectName)</TargetName>
<OutDir>$(MSBuildProjectDirectory)\bin\$(Configuration)\$(TargetFramework)\</OutDir>
<IntDir>obj\$(Configuration)\$(TargetFramework)\</IntDir>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>

View File

@ -8,7 +8,8 @@ using namespace Runtime::InteropServices;
namespace Vanara { namespace PInvoke { namespace VssApi { namespace Vanara { namespace PInvoke { namespace VssApi {
public ref class VssFactory sealed /// <summary>Contains methods that create VSS objects.</summary>
public ref class VssFactory abstract sealed
{ {
public: public:
/// <summary>The <c>CreateVssExamineWriterMetadata</c> function creates an IVssExamineWriterMetadata object.</summary> /// <summary>The <c>CreateVssExamineWriterMetadata</c> function creates an IVssExamineWriterMetadata object.</summary>

View File

@ -2447,8 +2447,8 @@ namespace Vanara.PInvoke.VssApi
public VSS_WRITER_STATE pnStatus; public VSS_WRITER_STATE pnStatus;
} }
/// <summary>VSS functions.</summary> /// <summary>VSS information methods.</summary>
public static partial class Methods public static class VssInfo
{ {
private const string Lib_VssApi = "vssapi.dll"; private const string Lib_VssApi = "vssapi.dll";