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
{
private:
CVssWriterImpl* pNative;
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)) {}
/// <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()
{
if (pNative != NULL)

View File

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

View File

@ -8,7 +8,8 @@ using namespace Runtime::InteropServices;
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:
/// <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;
}
/// <summary>VSS functions.</summary>
public static partial class Methods
/// <summary>VSS information methods.</summary>
public static class VssInfo
{
private const string Lib_VssApi = "vssapi.dll";