Updated documentation

pull/267/head
dahall 2021-12-12 10:23:13 -07:00
parent 75a4110f04
commit db415107d7
5 changed files with 1345 additions and 1473 deletions

File diff suppressed because it is too large Load Diff

View File

@ -713,11 +713,6 @@ namespace Vanara.PInvoke.VssApi
/// The <c>IVssEnumMgmtObject</c> interface contains methods to iterate over and perform other operations on a list of enumerated objects.
/// </para>
/// <para>
/// The calling application is responsible for calling IUnknown::Release to release the resources held by the returned
/// <c>IVssEnumMgmtObject</c> when it is no longer needed. It may also need to call <c>IUnknown::Release</c> to release temporary
/// objects (such as strings) returned during enumeration.
/// </para>
/// <para>
/// The IVssDifferentialSoftwareSnapshotMgmt::QueryDiffAreasForSnapshot, IVssDifferentialSoftwareSnapshotMgmt::QueryDiffAreasForVolume,
/// IVssDifferentialSoftwareSnapshotMgmt::QueryDiffAreasOnVolume, and
/// IVssDifferentialSoftwareSnapshotMgmt::QueryVolumesSupportedForDiffAreas methods return an <c>IVssEnumMgmtObject</c> object.

View File

@ -927,10 +927,8 @@ namespace Vanara.PInvoke.VssApi
/// </para>
/// <para>
/// In the case of persistent shadow copies, the requester deletes the shadow copy when it is no longer needed. In the case of
/// nonpersistent auto-release shadow copies, the VSS service deletes the shadow copy when the requester calls IUnknown::Release on
/// the IVssBackupComponents object. In the case of nonpersistent non-auto-release shadow copies, the VSS service deletes the shadow
/// copy when the computer is restarted. In all cases, the VSS service calls the provider's <c>OnLunEmpty</c> method as needed for
/// each shadow copy LUN.
/// nonpersistent non-auto-release shadow copies, the VSS service deletes the shadow copy when the computer is restarted. In all
/// cases, the VSS service calls the provider's <c>OnLunEmpty</c> method as needed for each shadow copy LUN.
/// </para>
/// <para>
/// Note that <c>OnLunEmpty</c> is called on a best effort basis. VSS invokes the method only when the LUN is guaranteed to be
@ -1072,8 +1070,7 @@ namespace Vanara.PInvoke.VssApi
/// </param>
/// <param name="ppAsync">
/// A pointer to a location that will receive an IVssAsync interface pointer that can be used to retrieve the status of the
/// resynchronization operation. When the operation is complete, the caller must release the interface pointer by calling the
/// IUnknown::Release method.
/// resynchronization operation.
/// </param>
/// <returns>
/// <para>This method can return one of these values.</para>
@ -2149,7 +2146,7 @@ namespace Vanara.PInvoke.VssApi
/// </param>
/// <param name="ppAsync">
/// Pointer to a location that will receive an IVssAsync interface pointer that can be used to retrieve the status of the revert
/// operation. When the operation is complete, the caller must release the interface pointer by calling the IUnknown::Release method.
/// operation.
/// </param>
/// <returns>
/// <para>The following are the valid return codes for this method.</para>

View File

@ -1583,10 +1583,6 @@ namespace Vanara.PInvoke.VssApi
/// The <c>IVssAsync</c> interface permits an application to monitor and control an asynchronous operation by waiting on its completion,
/// querying its status, or canceling it.
/// </para>
/// <para>
/// The calling application is responsible for calling IUnknown::Release to release the resources held by the returned <c>IVssAsync</c>
/// interface when it is no longer needed.
/// </para>
/// <para>The following methods return an <c>IVssAsync</c> interface:</para>
/// <list type="bullet">
/// <item>
@ -1783,11 +1779,6 @@ namespace Vanara.PInvoke.VssApi
/// <para>
/// The <c>IVssEnumObject</c> interface contains methods to iterate over and perform other operations on a list of enumerated objects.
/// </para>
/// <para>
/// The calling application is responsible for calling IUnknown::Release to release the resources held by the returned
/// <c>IVssEnumObject</c> when it is no longer needed. It may also need to call <c>IUnknown::Release</c> to release temporary objects
/// (such as strings) returned during enumeration.
/// </para>
/// <para>The IVssBackupComponents::Query method returns an <c>IVssEnumObject</c> object.</para>
/// </summary>
// https://docs.microsoft.com/en-us/windows/win32/api/vss/nn-vss-ivssenumobject
@ -1889,7 +1880,7 @@ namespace Vanara.PInvoke.VssApi
/// enumerator object.
/// </summary>
/// <returns>
/// Doubly indirect pointer to an IVssEnumObject enumerator object. Set the value of this parameter to <c>NULL</c> before calling
/// An IVssEnumObject enumerator object. Set the value of this parameter to <c>NULL</c> before calling
/// this method.
/// </returns>
/// <remarks>

View File

@ -1,5 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
@ -719,8 +718,8 @@ namespace Vanara.PInvoke.VssApi
/// <summary>
/// <para>
/// The <c>IVssComponent</c> interface is a C++ (not COM) interface containing methods for examining and modifying information about
/// components contained in a requester's Backup Components Document.
/// The <c>IVssComponent</c> interface contains methods for examining and modifying information about components contained in a
/// requester's Backup Components Document.
/// </para>
/// <para>
/// <c>IVssComponent</c> objects can be obtained only for those components that have been explicitly added to the Backup Components
@ -1732,7 +1731,7 @@ namespace Vanara.PInvoke.VssApi
// wszFilespec, [in] bool bRecursive, [in] LPCWSTR wszAlternateLocation, [in] DWORD dwBackupTypeMask );
void AddFilesToFileGroup([MarshalAs(UnmanagedType.LPWStr)] string wszLogicalPath, [MarshalAs(UnmanagedType.LPWStr)] string wszGroupName,
[MarshalAs(UnmanagedType.LPWStr)] string wszPath, [MarshalAs(UnmanagedType.LPWStr)] string wszFilespec, bool bRecursive,
[MarshalAs(UnmanagedType.LPWStr)] string wszAlternateLocation,
[MarshalAs(UnmanagedType.LPWStr)] string wszAlternateLocation,
VSS_FILE_SPEC_BACKUP_TYPE dwBackupTypeMask = VSS_FILE_SPEC_BACKUP_TYPE.VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FILE_SPEC_BACKUP_TYPE.VSS_FSBT_ALL_SNAPSHOT_REQUIRED);
/// <summary>Specifies how an express writer's data is to be restored.</summary>
@ -1853,8 +1852,8 @@ namespace Vanara.PInvoke.VssApi
/// <summary>
/// <para>
/// The <c>IVssCreateWriterMetadata</c> interface is a C++ (not COM) interface containing methods to construct the Writer Metadata
/// Document in response to an Identify event. It is used only in the CVssWriter::OnIdentify method.
/// The <c>IVssCreateWriterMetadata</c> interface contains methods to construct the Writer Metadata Document in response to an Identify
/// event. It is used only in the CVssWriter::OnIdentify method.
/// </para>
/// <para>The addition and specification of components by a writer is managed through this interface.</para>
/// <para>
@ -2515,8 +2514,8 @@ namespace Vanara.PInvoke.VssApi
/// <summary>
/// <para>
/// The <c>IVssCreateWriterMetadataEx</c> interface is a C++ (not COM) interface that defines a method to report any file sets that will
/// be explicitly excluded when a shadow copy is created. This interface is used only in the CVssWriterEx::OnIdentifyEx method.
/// The <c>IVssCreateWriterMetadataEx</c> interface defines a method to report any file sets that will be explicitly excluded when a
/// shadow copy is created. This interface is used only in the CVssWriterEx::OnIdentifyEx method.
/// </para>
/// <para>The <c>IVssCreateWriterMetadataEx</c> interface inherits from the IVssCreateWriterMetadata interface and IUnknown.</para>
/// </summary>
@ -2568,9 +2567,6 @@ namespace Vanara.PInvoke.VssApi
/// This method is not a substitute for the IVssCreateWriterMetadata::AddExcludeFiles method. Writers should continue to use the
/// <c>AddExcludeFiles</c> method to report which file sets are excluded from backup.
/// </para>
/// <para>
/// The caller is responsible for calling the IUnknown::Release method to release the resources of the returned IVssWMFiledesc object.
/// </para>
/// </remarks>
// https://docs.microsoft.com/en-us/windows/win32/api/vswriter/nf-vswriter-ivsscreatewritermetadataex-addexcludefilesfromsnapshot
// HRESULT AddExcludeFilesFromSnapshot( [in] LPCWSTR wszPath, [in] LPCWSTR wszFilespec, [in] bool bRecursive );
@ -2652,9 +2648,9 @@ namespace Vanara.PInvoke.VssApi
/// <summary>
/// <para>
/// The <c>IVssWMDependency</c> is a C++ (not COM) interface returned by the IVssWMComponent interface and used by applications when
/// backing up or restoring a component that has an explicit writer-component dependency on a component managed by another writer.
/// (Dependencies must be between writers, not within writers.)
/// The <c>IVssWMDependency</c> is returned by the IVssWMComponent interface and used by applications when backing up or restoring a
/// component that has an explicit writer-component dependency on a component managed by another writer. (Dependencies must be between
/// writers, not within writers.)
/// </para>
/// <para>
/// <c>IVssWMDependency</c> is used to determine the writer ID, logical path, and component name of components that must be restored or
@ -2664,10 +2660,6 @@ namespace Vanara.PInvoke.VssApi
/// Dependencies are created by writers while handling Identify events (CVssWriter::OnIdentify) using the
/// IVssCreateWriterMetadata::AddComponentDependency method.
/// </para>
/// <para>
/// Calling applications are responsible for calling IUnknown::Release to release resources held by a returned <c>IVssWMDependency</c>
/// object when it is no longer needed.
/// </para>
/// <para>The IVssWMComponent::GetDependency method returns an <c>IVssWMDependency</c> interface.</para>
/// <para>
/// Note that a dependency does not indicate an order of preference between the component with the documented dependencies and the
@ -2759,12 +2751,8 @@ namespace Vanara.PInvoke.VssApi
/// <summary>
/// <para>
/// The <c>IVssWMFiledesc</c> interface is a C++ (not COM) interface returned to a calling application by a number of query methods. It
/// provides detailed information about a file or set of files (a file set).
/// </para>
/// <para>
/// The calling application is responsible for calling IUnknown::Release to release the resources held by the returned
/// <c>IVssWMFiledesc</c> interface when it is no longer needed.
/// The <c>IVssWMFiledesc</c> interface is returned to a calling application by a number of query methods. It provides detailed
/// information about a file or set of files (a file set).
/// </para>
/// <para>The following methods return an <c>IVssWMFiledesc</c> interface:</para>
/// <list type="bullet">
@ -2921,8 +2909,8 @@ namespace Vanara.PInvoke.VssApi
/// <summary>
/// <para>
/// The <c>IVssWriterComponents</c> interface is a C++ (not COM) interface that contains methods used to obtain and modify component
/// information (in the form of IVssComponent objects) associated with a given writer but stored in a requester's Backup Components Document.
/// The <c>IVssWriterComponents</c> interface contains methods used to obtain and modify component information (in the form of
/// IVssComponent objects) associated with a given writer but stored in a requester's Backup Components Document.
/// </para>
/// <para>
/// The CVssWriter base class is responsible for passing an instance of the <c>IVssWriterComponents</c> interface to the following event handlers:
@ -3265,9 +3253,6 @@ namespace Vanara.PInvoke.VssApi
/// <remarks>The caller should free the memory held by the pbstrLogicalPath and pbstrComponentName parameters by calling SysFreeString.</remarks>
public struct VssRestoreSubcomponent
{
/// <summary>Reserved for future use.</summary>
public bool Repair;
/// <summary>Pointer to a string containing the name of the subcomponent. The string cannot be empty.</summary>
public string ComponentName;
@ -3275,5 +3260,8 @@ namespace Vanara.PInvoke.VssApi
/// Pointer to a string containing the logical path of the subcomponent. The logical path cannot be empty when working with subcomponents.
/// </summary>
public string LogicalPath;
/// <summary>Reserved for future use.</summary>
public bool Repair;
}
}