From 17bdd6410891415bc47ba635830037b46e2b4173 Mon Sep 17 00:00:00 2001 From: Kenneth Skovhede Date: Mon, 17 Jun 2013 21:06:55 +0200 Subject: Updated the AlphaVSS library to newest version --- thirdparty/alphavss/Bin/AlphaFS.XML | 8184 +++++++------- thirdparty/alphavss/Bin/AlphaFS.dll | Bin 260608 -> 270336 bytes thirdparty/alphavss/Bin/AlphaFS.dll.config | 4 +- thirdparty/alphavss/Bin/AlphaVSS.Common.dll | Bin 56320 -> 78336 bytes thirdparty/alphavss/Bin/AlphaVSS.Common.xml | 11021 ++++++++++--------- thirdparty/alphavss/platform/AlphaVSS.51.x86.dll | Bin 0 -> 168960 bytes thirdparty/alphavss/platform/AlphaVSS.52.x64.dll | Bin 0 -> 208896 bytes thirdparty/alphavss/platform/AlphaVSS.52.x86.dll | Bin 0 -> 184832 bytes thirdparty/alphavss/platform/AlphaVSS.60.x64.dll | Bin 0 -> 233984 bytes thirdparty/alphavss/platform/AlphaVSS.60.x86.dll | Bin 0 -> 203264 bytes .../alphavss/platform/AlphaVSS.Win2003.x64.dll | Bin 154112 -> 0 bytes .../alphavss/platform/AlphaVSS.Win2003.x86.dll | Bin 133632 -> 0 bytes .../alphavss/platform/AlphaVSS.Win2008.x64.dll | Bin 166400 -> 0 bytes .../alphavss/platform/AlphaVSS.Win2008.x86.dll | Bin 145408 -> 0 bytes .../alphavss/platform/AlphaVSS.WinXP.x64.dll | Bin 154112 -> 0 bytes .../alphavss/platform/AlphaVSS.WinXP.x86.dll | Bin 118784 -> 0 bytes 16 files changed, 10335 insertions(+), 8874 deletions(-) mode change 100644 => 100755 thirdparty/alphavss/Bin/AlphaFS.XML mode change 100644 => 100755 thirdparty/alphavss/Bin/AlphaFS.dll mode change 100644 => 100755 thirdparty/alphavss/Bin/AlphaFS.dll.config mode change 100644 => 100755 thirdparty/alphavss/Bin/AlphaVSS.Common.dll mode change 100644 => 100755 thirdparty/alphavss/Bin/AlphaVSS.Common.xml create mode 100755 thirdparty/alphavss/platform/AlphaVSS.51.x86.dll create mode 100755 thirdparty/alphavss/platform/AlphaVSS.52.x64.dll create mode 100755 thirdparty/alphavss/platform/AlphaVSS.52.x86.dll create mode 100755 thirdparty/alphavss/platform/AlphaVSS.60.x64.dll create mode 100755 thirdparty/alphavss/platform/AlphaVSS.60.x86.dll delete mode 100644 thirdparty/alphavss/platform/AlphaVSS.Win2003.x64.dll delete mode 100644 thirdparty/alphavss/platform/AlphaVSS.Win2003.x86.dll delete mode 100644 thirdparty/alphavss/platform/AlphaVSS.Win2008.x64.dll delete mode 100644 thirdparty/alphavss/platform/AlphaVSS.Win2008.x86.dll delete mode 100644 thirdparty/alphavss/platform/AlphaVSS.WinXP.x64.dll delete mode 100644 thirdparty/alphavss/platform/AlphaVSS.WinXP.x86.dll (limited to 'thirdparty/alphavss') diff --git a/thirdparty/alphavss/Bin/AlphaFS.XML b/thirdparty/alphavss/Bin/AlphaFS.XML old mode 100644 new mode 100755 index 5280ebfa9..dac372e63 --- a/thirdparty/alphavss/Bin/AlphaFS.XML +++ b/thirdparty/alphavss/Bin/AlphaFS.XML @@ -4,5343 +4,5264 @@ AlphaFS - + - Represents a privilege for an access token. The privileges available on the local machine are available as - static instances from this class. To create a representing a privilege on another system, - use the constructor specifying a system name together with one of these static instances. + Specifies the type of a file. - - + - Required to assign the primary token of a process. User Right: Replace a process-level token. + The type of the specified file is unknown. - + - Required to generate audit-log entries. Give this privilege to secure servers. User Right: Generate security audits. + The specified file is a disk file. - + - Required to perform backup operations. This privilege causes the system to grant all read access control to any file, regardless of the access control list (ACL) specified for the file. Any access request other than read is still evaluated with the ACL. User Right: Back up files and directories. + The specified file is a character file, typically an LPT device or a console. - + - Required to receive notifications of changes to files or directories. This privilege also causes the system to skip all traversal access checks. It is enabled by default for all users. User Right: Bypass traverse checking. + The specified file is a socket, a named pipe, or an anonymous pipe. - + - Required to create named file mapping objects in the global namespace during Terminal Services sessions. This privilege is enabled by default for administrators, services, and the local system account. User Right: Create global objects. + Unused. - Windows XP/2000: This privilege is not supported. Note that this value is supported starting with Windows Server 2003, Windows XP SP2, and Windows 2000 SP4. - + - Required to create a paging file. User Right: Create a pagefile. + Represents information about free and used space on a disk. - + - Required to create a permanent object. User Right: Create permanent shared objects. + Initializes the structure + The free bytes available + The total number of bytes + The total number of free bytes - + - Required to create a symbolic link. User Right: Create symbolic links. - + Indicates whether this instance and a specified object are equal. + + Another object to compare to. + + true if and this instance are the same type and represent the same value; otherwise, false. + - + - Required to create a primary token. User Right: Create a token object. + Returns the hash code for this instance. + + A 32-bit signed integer that is the hash code for this instance. + - + - Required to debug and adjust the memory of a process owned by another account. User Right: Debug programs. + Implements the operator ==. + A. + B. + The result of the operator. - + - Required to mark user and computer accounts as trusted for delegation. User Right: Enable computer and user accounts to be trusted for delegation. + Implements the operator !=. + A. + B. + The result of the operator. - + - Required to impersonate. User Right: Impersonate a client after authentication. + Gets or sets the free bytes available. - Windows XP/2000: This privilege is not supported. Note that this value is supported starting with Windows Server 2003, Windows XP SP2, and Windows 2000 SP4. + The free bytes available. - + - Required to increase the base priority of a process. User Right: Increase scheduling priority. + Gets or sets the total number of bytes. + The total number of bytes. - + - Required to increase the quota assigned to a process. User Right: Adjust memory quotas for a process. + Gets or sets the total number of free bytes. + The total number of free bytes. - + - Required to allocate more memory for applications that run in the context of users. User Right: Increase a process working set. + Represents information about a volume. - + - Required to load or unload a device driver. User Right: Load and unload device drivers. + Gets the name of the volume. + The name of the volume. - + - Required to lock physical pages in memory. User Right: Lock pages in memory. + Gets a value indicating whether the file system preserves the case of file names when it places a name on disk.. + true if the file system preserves the case of file names when it places a name on disk.]; otherwise, false. - + - Required to create a computer account. User Right: Add workstations to domain. + Gets a value indicating whether the file system supports case-sensitive file names.. + + true if the file system supports case-sensitive file names; otherwise, false. + - + - Required to enable volume management privileges. User Right: Manage the files on a volume. + Gets a value indicating whether the file system supports file-based compression. + + true if the file system supports file-based compression; otherwise, false. + - + - Required to gather profiling information for a single process. User Right: Profile single process. + Gets a value indicating whether the file system supports named streams. + + true if the file system supports named streams; otherwise, false. + - + - Required to modify the mandatory integrity level of an object. User Right: Modify an object label. + Gets a value indicating whether the file system preserves and enforces access control lists (ACL). + + true if the file system preserves and enforces access control lists (ACL); otherwise, false. + + For example, the NTFS file system preserves and enforces ACLs, and the FAT file system does not. - + - Required to shut down a system using a network request. User Right: Force shutdown from a remote system. + Gets a value indicating whether the specified volume is read-only.. + + true if the specified volume is read-only.; otherwise, false. + + This value is not supported on Windows 2000/NT and Windows Me/98/95. - + - Required to perform restore operations. This privilege causes the system to grant all write access control to any file, regardless of the ACL specified for the file. Any access request other than write is still evaluated with the ACL. Additionally, this privilege enables you to set any valid user or group SID as the owner of a file. User Right: Restore files and directories. + Gets a value indicating whether the file system supports the Encrypted File System (EFS). + true if the file system supports the Encrypted File System (EFS); otherwise, false. - + - Required to perform a number of security-related functions, such as controlling and viewing audit messages. This privilege identifies its holder as a security operator. User Right: Manage auditing and security log. + Gets a value indicating whether the file system supports object identifiers. + + true if the file system supports object identifiers; otherwise, false. + - + - Required to shut down a local system. User Right: Shut down the system. + Gets a value indicating whether he file system supports re-parse points. + + true if he file system supports re-parse points; otherwise, false. + - + - Required for a domain controller to use the LDAP directory synchronization services. This privilege enables the holder to read all objects and properties in the directory, regardless of the protection on the objects and properties. By default, it is assigned to the Administrator and LocalSystem accounts on domain controllers. User Right: Synchronize directory service data. + Gets a value indicating whether the file system supports sparse files. + true if the file system supports sparse files; otherwise, false. - + - Required to modify the nonvolatile RAM of systems that use this type of memory to store configuration information. User Right: Modify firmware environment values. + Gets a value indicating whether the file system supports Unicode in file names as they appear on disk. + + true if the file system supports Unicode in file names as they appear on disk; otherwise, false. + - + - Required to gather profiling information for the entire system. User Right: Profile system performance. + Gets a value indicating whether the specified volume is a compressed volume, for example, a DoubleSpace volume. + + true if the specified volume is a compressed volume; otherwise, false. + - + - Required to modify the system time. User Right: Change the system time. + Gets a value indicating whether the file system supports disk quotas. + true if the file system supports disk quotas; otherwise, false. - + - Required to take ownership of an object without being granted discretionary access. This privilege allows the owner value to be set only to those values that the holder may legitimately assign as the owner of an object. User Right: Take ownership of files or other objects. + Gets the volume serial number that the operating system assigns when a hard disk is formatted. + The volume serial number that the operating system assigns when a hard disk is formatted. - + - This privilege identifies its holder as part of the trusted computer base. Some trusted protected subsystems are granted this privilege. User Right: Act as part of the operating system. + Gets the maximum length of a file name component that the file system supports. + The maximum length of a file name component that the file system supports. - + - Required to adjust the time zone associated with the computer's internal clock. User Right: Change the time zone. + Gets the name of the file system, for example, the FAT file system or the NTFS file system. + The name of the file system. - + - Required to access Credential Manager as a trusted caller. User Right: Access Credential Manager as a trusted caller. + Specifies how the operating system should open a file. - + - Required to undock a laptop. User Right: Remove computer from docking station. + None of the options specified. - + - Required to read unsolicited input from a terminal device. User Right: Not applicable. + The file should be archived. Applications use this attribute to mark files for backup or removal. - + - Create a new representing the specified privilege on the specified system. + The file or directory is encrypted. For a file, this means that all data in the file is encrypted. For a directory, this means that encryption is the default for newly created files and subdirectories. - Name of the system. - The privilege to copy the privilege name from. - + - Retrieves the display name that represents this privilege. + The file is hidden. Do not include it in an ordinary directory listing. - The display name that represents this privilege. - + - Retrieves the locally unique identifier (LUID) used on to represent this privilege (on the system from which it originates). + The file does not have other attributes set. This attribute is valid only if used alone. - the locally unique identifier (LUID) used on to represent this privilege (on the system from which it originates). - + - Indicates whether the current object is equal to another object of the same type. + The data of a file is not immediately available. This attribute indicates that file data is physically moved to offline storage. This attribute is used by Remote Storage, the hierarchical storage management software. Applications should not arbitrarily change this attribute. - An object to compare with this object. - - true if the current object is equal to the parameter; otherwise, false. - - + - Determines whether the specified is equal to the current . + The file is read only. Applications can read the file, but cannot write to or delete it. - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - + - Serves as a hash function for a particular type. + The file is part of or used exclusively by an operating system. - - A hash code for the current . - - + - Returns the system name for this privilege. + The file is being used for temporary storage. - This is equivalent to . - - A that represents the current . - - - - Initializes a new instance of the class, representing a privilege - with the specified name on the local system. - - The name. - - + - Gets the system name identifying this privilege. + The file is being opened or created for a backup or restore operation. The system ensures that the calling process + overrides file security checks when the process has SE_BACKUP_NAME and SE_RESTORE_NAME privileges. + You must set this flag to obtain a handle to a directory. A directory handle can be passed to some functions instead of a file handle. - The system name identifying this privilege. - + - The type of the data contained in the backup stream. + The file is to be deleted immediately after all of its handles are closed, which includes the specified handle and any other open or duplicated handles. + If there are existing open handles to a file, the call fails unless they were all opened with the share mode. + Subsequent open requests for the file fail, unless the share mode is specified. - + - This indicates an error. + There are strict requirements for successfully working with files opened with the flag, for + details see the section on "File Buffering" in the online MSDN documentation. - + - Standard data + The file data is requested, but it should continue to be located in remote storage. It should not be transported back to local storage. This flag is for use by remote storage systems. - + - Extended attribute data + Normal reparse point processing will not occur; an attempt to open the reparse point will be made. + When a file is opened, a file handle is returned, whether or not the filter that controls the reparse + point is operational. See MSDN documentation for more information. - + - Security descriptor data + The file or device is being opened or created for asynchronous I/O. - + - Alternative data streams + Access will occur according to POSIX rules. This includes allowing multiple files with names, differing only in case, for file systems that support that naming. Use care when using this option, because files created with this flag may not be accessible by applications that are written for MS-DOS or 16-bit Windows. - + - Hard Link Information + Access is intended to be random. The system can use this as a hint to optimize file caching. - + - Property data + Access is intended to be sequential from beginning to end. The system can use this as a hint to optimize file caching. - + - Object identifiers + Write operations will not go through any intermediate cache, they will go directly to disk. - + - Reparse points + Provides the base class for both FileInfo and DirectoryInfo objects. - + - Sparse file + Indicator of file existence. It refreshes each time Refresh() has been called. - + - Enumeration specifying the different reparse point tags. + Represents extended file information. - + - The entry is not a reparse point + Represents the fully qualified path of the directory or file. + + Notes to Inheritors: + Classes derived from FileSystemInfo can use the FullPath field to determine the full path of the object being manipulated. + - + - Dfs + The path originally specified by the user, whether relative or absolute. - + - Dfsr + Deletes a file or directory. - + - Hsm + Refreshes the state of the object. + + FileSystemInfo.Refresh takes a snapshot of the file from the current file system. Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information. This can happen on platforms such as Windows 98. + Calls must be made to Refresh before attempting to get the attribute information, or the information will be outdated. + - + - Hsm2 + Returns a String that represents the current Object. + String - + - The entry is a mount point + Throws the does not exists exception. - + - Sis + Initializes the specified file name. + Name of the file. - + - The entry is a symbolic link + Gets a full path string representing the file's parent directory. + A string representing the parent directory full path. - + - Specifies how the operating system should open a file. + Gets or sets the of the current . - + - Specifies that the operating system should create a new file. If the file already exists, an exception is thrown. + Gets or sets the creation time of the current object. + The creation date and time of the current System.IO.FileSystemInfo object. - + - Specifies that the operating system should create a new file. If the file already exists, it will be overwritten. - Create is equivalent to requesting that if the file does not exist, use ; otherwise, use . + Gets or sets the creation time, in coordinated universal time (UTC), of the current FileSystemInfo object. - + - Specifies that the operating system should open an existing file. The ability to open the file is dependent on the value specified by . A is thrown if the file does not exist. + Gets a value indicating whether the file or directory exists. - + - Specifies that the operating system should open a file if it exists; otherwise, a new file should be created. + The Extension property returns the FileSystemInfo extension, including the period (.). For example, for a file c:\NewFile.txt, this property returns ".txt". - + - Specifies that the operating system should open an existing file. Once opened, the file should be truncated so that its size is zero bytes. Attempts to read from a file opened with Truncate cause an exception. + A string containing the name with full path. - + - Represents the encryption status of the specified file. + Gets the system info. + The system info. - + - The file can be encrypted. + Gets or sets the time the current file or directory was last accessed. + When first called, calls Refresh and returns the cached information on APIs to get attributes and so on. On subsequent calls, you must call Refresh to get the latest copy of the information. + If the file described in the object does not exist, this property will return 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time. + - + - The file is encrypted. + Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed + When first called, calls Refresh and returns the cached information on APIs to get attributes and so on. On subsequent calls, you must call Refresh to get the latest copy of the information. + If the file described in the object does not exist, this property will return 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time. + - + - The file is a read-only file. + Gets or sets the time when the current file or directory was last written to. - + - The file is a root directory. Root directories cannot be encrypted. + Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to. - + - The file is a system file. System files cannot be encrypted. + For files, gets the name of the file. For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. Otherwise, the Name property gets the name of the directory. + + For a directory, Name returns only the name of the parent directory, such as Dir, not c:\Dir. For a subdirectory, Name returns only the name of the subdirectory, such as Sub1, not c:\Dir\Sub1. + For a file, Name returns only the file name and file name extension, such as MyFile.txt, not c:\Dir\Myfile.txt. + - + - The file is a system directory. System directories cannot be encrypted. + Defines values that are used with the GetFileAttributes function to specify the information level of the returned data. - + - The file system does not support file encryption. + The GetFileAttributes function retrieves a standard set of attribute information. The data is returned in a WIN32_FILE_ATTRIBUTE_DATA structure. - + - The encryption status is unknown. The file may be encrypted. + One greater than the maximum value. Valid values for this enumeration will be less than this value. - + - Reserved for future use. + Note: for some marshalling reason WIN32_FIND_DATA whould be declared as class not a struct. - + - The provides access to data associated with a specific file or directory, including security information - and alternative data streams, for backup and restore operations. + Reserved for future use - This class uses the BackupRead, - BackupSeek and - BackupWrite functions from the Win32 API to provide - access to the file or directory. - - + - Initializes a new instance of the class with the specified path, creation mode, access rights - and sharing permission, additional file options, access control and audit security. + Class used to represent the SECURITY_ATTRIBUES native win32 structure. + It provides initialization function from an ObjectSecurity object. - The transaction. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. - A constant that specifies additional file options. - A constant that determines the access control and audit security for the file. This parameter may be . - - Initializes a new instance of the class. - - + - Initializes a new instance of the class with the specified path, creation mode, access rights - and sharing permission, and additional file options. + Initializes the SecurityAttributes structure from an instance of . - The transaction. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. - A constant that specifies additional file options. + A handle that will refer to the memory allocated by this object for storage of the + security descriptor. As long as this object is used, the memory handle should be kept alive, and afterwards it + should be disposed as soon as possible. + The security descriptor to assign to this object. This parameter may be . - + - Initializes a new instance of the class with the specified path, creation mode, access rights - and sharing permission. + This value is not supported until Windows Server 2008 R2 and Windows 7. - The transaction. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. - + - Initializes a new instance of the class with the specified path, creation mode and access rights. + A representation of a path, providing convenient access to the individual components + of the path. - The transaction. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - The file will be opened for exclusive access. + Note that no methods in this class verifies whether the path actually exists or not. - + + - Initializes a new instance of the class with the specified path and creation mode. + Initializes a new instance of the class. - The transaction. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - The file will be opened for exclusive access for both reading and writing. + + The path. + is + The path is not a legal path in the Win32 file system. - + - Initializes a new instance of the class with the specified path, creation mode, access rights - and sharing permission, additional file options, access control and audit security. + Initializes a new instance of the class specifying whether wildcards + should be accepted or not. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. - A constant that specifies additional file options. - A constant that determines the access control and audit security for the file. This parameter may be . - - Initializes a new instance of the class. - + The path. + if set to true wildcards are allowed in the file + name part of the path. If set to false, wildcards are not allowed and an + will be thrown if they are present. + is + + Note that under no circumstances will this class accept wildcards in + the directory part of the path, only in the file-name, i.e. the component + after the last backslash or separator. + + + Extended length unicode paths (also referred to as long paths) (those starting with \\?\) will not be + parsed for wildcards etc., regardless of the setting of this parameter. + In such a path any character is valid and backslashes alone are considered + to be separators. + + - + - Initializes a new instance of the class with the specified path, creation mode, access rights - and sharing permission, and additional file options. + Initializes a new instance of the class. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. - A constant that specifies additional file options. + The path. + The indices. + Position of the beginning of the file extension in the path. - + - Initializes a new instance of the class with the specified path, creation mode, access rights - and sharing permission. + Retrieves the full long (or extended) unicode version of the path represented by this instance. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - A constant that determines how the file will be shared by processes. + + + This method takes care of different path conversions to be usable in Unicode + variants of the Win32 funcitons (which are internally used throughout AlphaFS). + + + Regular paths are changed like the following: + + + C:\Somewhere\Something.txt + \\?\C:\Somewhere\Something.txt + + + \\Somewhere\Something.txt + \\?\UNC\Somewhere\Something.txt + + + + + Already processed paths are preserved untouched so to avoid mistakes of double prefixing. + + + If the path represented by this instance is not an absolute path, or is not rooted, the path of the + current directory (and drive) is combined with this path to form + an absolute path. + + + The long or extended unicode version of the specified path. + + - + - Initializes a new instance of the class with the specified path, creation mode and access rights. + Gets the full absolute path of the path represented by this instance. + This is done by "applying" the path to the current directory if the path + does not contain a root, or the volume of the current directory if the + path does not contain any drive information. - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - A constant that determines the access rights to use when creating access and audit rules for the file. - The file will be opened for exclusive access. + The full absolute path. - + - Initializes a new instance of the class with the specified path and creation mode. + Returns a that represents the current . - A relative or absolute path for the file that the current object will encapsulate. - A constant that determines how to open or create the file. - The file will be opened for exclusive access for both reading and writing. + + A that represents the current . + - + - Initializes a new instance of the class for the specified file handle, with the specified read/write permission. + Performs a lexiographical comparison of the string representations of this and + the other path, ignoring case. - A file handle for the file that this object will encapsulate. - A constant that gets the and properties - of the object. + A to compare with this object. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + + Performs a lexiographical comparison for equality of the string representations of this and + the other path, ignoring case. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Performs a lexiographical comparison for equality of the string representations of this and + the other path, ignoring case. + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + The parameter is null. + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Combines two paths. + + The first path. + The second path. + A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If path2 contains an absolute path, this method returns path2. + + + + Combines two paths. + + The first path. + The second path. + A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If path2 contains an absolute path, this method returns path2. + + + + Implements the operator ==. + + The path1. + The path2. + The result of the operator. + + + + Implements the operator !=. + + The path1. + The path2. + The result of the operator. + + + + Implements the operator <. + + The path1. + The path2. + The result of the operator. + + + + Implements the operator >. + + The path1. + The path2. + The result of the operator. + + + + Retrieves the parent directory of the specified path, including both absolute and relative paths. + + The parent directory, or if path is the root directory, including the root of a UNC server or share name. + + + + Gets the full normalized path, with a trailing backslash if the path denotes a directory. + + The full normalized path, with a trailing backslash if the path denotes a directory. + + + + + Gets the full normalized path. + + The full path. + + + + + Gets the file name part of the path. + + The file name part of the path, or an empty string if the path does not contain a file name. + + + + Gets the root of the path. + + The root of the path, which may be a drive (eg. "C:\"), a remote computer as part of + an UNC path (eg. "\\OtherComputer\"), a unique volume name + (eg. "\\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\") or a single directory + separator ("\") if no drive or volume is present in the path. If does not contain + any root, an empty string is returned. + + + + Gets a value indicating whether the path is rooted. + + true if this instance is rooted; otherwise, false. + + + + Gets a value indicating whether this instance has file name. + + + true if this instance has file name; otherwise, false. + + + + + Gets the extension of the file name of this path. + + The extension of the file name of this path, or an empty string if the path does + not contain a file name or the file name does not have an extension. + + + + Gets a value indicating whether the file name in this path has an extension. + + + true if the file name in this path has an extension; otherwise, false. + + + + + Gets the file name without extension. + + The file name without extension or an empty string if the + path does not contain a file name. + + + + Returns the directory information for the path with a trailing directory separator. + + The name of the suffixed directory with a trailing directory separator. + + + + + Returns the directory information for the path without the root information, and with a trailing backslash. + + The path without the root and file name part (if any) and with a trailing backslash. + + + + + + + Returns the directory information for the path. + + The path without the file name part (if any). + + + + + Returns the directory information for the path with the root stripped off. + + The path without the root and file name part (if any). + + + + Gets a list exposing the individual components of the directory part of this path. + + The directory components of this path. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + + is multidimensional.-or- is equal to or greater than the length of .-or-The number of elements in the source is greater than the available space from to the end of the destination . + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + - + - Releases unmanaged resources and performs other cleanup operations before the - is reclaimed by garbage collection. + Gets the at the specified index. + The component of the directory at the specified index + If is out of range. - + - Reads a sequence of bytes from the current stream and advances the position within - the stream by the number of bytes read. + Gets the number of elements contained in the . - An array of bytes. When this method returns, the buffer contains the specified byte array with the values - between and ( + - 1) replaced by the bytes read from the current source. - The zero-based byte offset in at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not - currently available, or zero (0) if the end of the stream has been reached. - - The sum of and is larger than the buffer length. - - is null. - - or is negative. - An I/O error occurs. - The stream does not support reading. - Methods were called after the stream was closed. - This method will not backup the access-control list (ACL) data for the file or directory. + + The number of elements contained in the . - + - When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within - the stream by the number of bytes read. + Gets a value indicating whether the is read-only. - An array of bytes. When this method returns, the buffer contains the specified byte array with the values - between and ( + - 1) replaced by the bytes read from the current source. - The zero-based byte offset in at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - Indicates whether the function will backup the access-control list (ACL) data for the file or directory. - - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not - currently available, or zero (0) if the end of the stream has been reached. - - The sum of and is larger than the buffer length. - - is null. - - or is negative. - An I/O error occurs. - The stream does not support reading. - Methods were called after the stream was closed. + + true - + - Skips ahead the specified number of bytes from the current stream. + Removes a reference to the parent directory ("..") if possible. + This must be called *before* the reference to the parent directory has been + added. - - - This method represents the Win32 API implementation of BackupSeek. - - - Applications use the method to skip portions of a data stream that cause errors. This function does not - seek across stream headers. For example, this function cannot be used to skip the stream name. If an application - attempts to seek past the end of a substream, the function fails, the return value indicates the actual number of bytes - the function seeks, and the file position is placed at the start of the next stream header. - - - The number of bytes to skip. - The number of bytes actually skipped. + true if the reference was removed, and false if it was kept. - + - When overridden in a derived class, sets the position within the current stream. + Represents the encryption status of the specified file. - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - - The new position within the current stream. - - - - - - This stream does not support seeking using this method, and calling this method will always throw - . See for an alternative way of seeking forward. - - - - - The stream does not support seeking. - + - Applies access control list (ACL) entries described by a object to the file described by the - current object. + The file can be encrypted. - A object that describes an ACL entry to apply to the current file. - + - When overridden in a derived class, sets the length of the current stream. + The file is encrypted. - The desired length of the current stream in bytes. - This method is not supported by the class, and calling it will always - generate a . - Always thrown by this class. - + - Writes a sequence of bytes to the current stream and advances the current position - within this stream by the number of bytes written. + The file is a read-only file. - - Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. - - An array of bytes. This method copies bytes from to the current stream. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - The sum of and is greater than the buffer length. - - is null. - - or is negative. - An I/O error occurs. - The stream does not support writing. - Methods were called after the stream was closed. - This method will not process the access-control list (ACL) data for the file or directory. - + - When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position - within this stream by the number of bytes written. + The file is a root directory. Root directories cannot be encrypted. - An array of bytes. This method copies bytes from to the current stream. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - Specifies whether the function will restore the access-control list (ACL) data for the file or directory. - If this is , you need to specify and access when - opening the file or directory handle. If the handle does not have those access rights, the operating system denies - access to the ACL data, and ACL data restoration will not occur. - The sum of and is greater than the buffer length. - - is null. - - or is negative. - An I/O error occurs. - The stream does not support writing. - Methods were called after the stream was closed. - + - Allows access by other processes to all or part of a file that was previously locked. + The file is a system file. System files cannot be encrypted. - The beginning of the range to unlock. - The range to be unlocked. - - or is negative. - The file is closed. - + - Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + The file is a system directory. System directories cannot be encrypted. - An I/O error occurs. - + - Gets a object that encapsulates the access control list (ACL) entries for the file described by the - current object. + The file system does not support file encryption. - A object that encapsulates the access control list (ACL) entries for the file described by the - current object. - + - Reads a stream header from the current . + The encryption status is unknown. The file may be encrypted. - The stream header read from the current , or if the end-of-file - was reached before the required number of bytes of a header could be read. - The stream must be positioned at where an actual header starts for the returned object to represent valid - information. - + - Prevents other processes from changing the while permitting read access. + Reserved for future use. - The beginning of the range to lock. The value of this parameter must be equal to or greater than zero (0). - The range to be locked. - or is negative. - The file is closed. - The process cannot access the file because another process has locked a portion of the file. - + - Releases the unmanaged resources used by the and optionally releases the managed resources. + The exception that is thrown when an attempt to create a directory or file that already exists was made. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Gets a value indicating whether the current stream supports reading. + Initializes a new instance of the class. - - true if the stream supports reading; otherwise, false. - + - Gets a value indicating whether the current stream supports seeking. - - This method always returns . + Initializes a new instance of the class. + + The message. - + - Gets a value indicating whether the current stream supports writing. + Initializes a new instance of the class. - - true if the stream supports writing; otherwise, false. + The message. + The inner exception. - + - When overridden in a derived class, gets the length in bytes of the stream. + Initializes a new instance of the class. - This method always throws an exception. - This exception is always thrown if this property is accessed on a . + The data for serializing or deserializing the object. + The source and destination for the object. - + - When overridden in a derived class, gets or sets the position within the current stream. + The requested operation could not be completed because the device was not ready. - This method always throws an exception. - This exception is always thrown if this property is accessed on a . - + - Gets a object that represents the operating system file handle for the file that - the current object encapsulates. + Initializes a new instance of the class. - A object that represents the operating system file handle for the file that - the current object encapsulates. - + - Provides static methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of objects. - As opposed to the corresponding class, this class supports the use of extended length unicode paths, such as - \\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\autoexec.bat. In addition, support for transacted file operation using the - kernel transaction manager is provided. (See also ). + Initializes a new instance of the class. - Note that no methods in this class perform any validation of the supplied paths. They are passed as is to the corresponding - native kernel functions, meaning that invalid paths may result in exceptions of a type other than the expected for a certain operation. + The message. - - + - Opens a file, appends the specified string to the file, and then closes the file. + Initializes a new instance of the class. - - If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. - - + The message. + The inner exception. + + - Opens a file, appends the specified string to the file, and then closes the file. If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. + Initializes a new instance of the class. - The file to append the specified string to. - The string to append to the file. + The data for serializing or deserializing the object. + The source and destination for the object. - + - Appends the specified string to the file, creating the file if it does not already exist. + The exception that is thrown when an attempt to create a directory or file that already exists was made. - The file to append the specified string to. - The string to append to the file. - The character encoding to use. - + - Opens a file as part of a transaction, appends the specified string to the file, and then closes the file. If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. + Initializes a new instance of the class. - The transaction. - The file to append the specified string to. - The string to append to the file. - + - Appends the specified string to the file as part of a transaction, creating the file if it does not already exist. + Initializes a new instance of the class. - The transaction. - The file to append the specified string to. - The string to append to the file. - The character encoding to use. + The message. - - - Creates a that appends UTF-8 encoded text to an existing file. - + - Creates a that appends UTF-8 encoded text to an existing file. + Initializes a new instance of the class. - The path to the file to append to. - A that appends UTF-8 encoded text to an existing file. + The message. + The inner exception. - + - Creates a , that is part of a transaction, that appends UTF-8 encoded text to an existing file. + Initializes a new instance of the class. - The transaction. - The path to the file to append to. - - A that appends UTF-8 encoded text to an existing file. - + The data for serializing or deserializing the object. + The source and destination for the object. - - - Copies an existing file to a new file. - + - Copies an existing file to a new file. Overwriting a file of the same name is not allowed. + It is too late to perform the requested operation, since the Transaction has already been aborted. - The file to copy. - The name of the destination file. This cannot be a directory or an existing file. - + - Copies an existing file to a new file. + Initializes a new instance of the class. - The file to copy. - The name of the destination file. This cannot be a directory or an existing file. - true if the destination file can be overwritten; otherwise, false. - + - Copies an existing file to a new file. + Initializes a new instance of the class. - The name of an existing file. - The name of the new file. - Flags that specify how the file is to be copied. - true if the file was completely copied, or false if the copy operation was aborted. + The message. - + - Copies an existing file to a new file. + Initializes a new instance of the class. - The name of an existing file. - The name of the new file. - Flags that specify how the file is to be copied. - true if original Timestamps must be preserved, otherwise false - - true if the file was completely copied, or false if the copy operation was aborted. - + The message. + The inner exception. - + - Copies an existing file to a new file, notifying the application of its progress through a callback function. + Initializes a new instance of the class. - The name of an existing file. - The name of the new file. - Flags that specify how the file is to be copied. - A callback function that is called each time another portion of the file has been copied. This parameter can be . - The argument to be passed to the callback function. This parameter can be . - true if original Timestamps must be preserved, otherwise false - - true if the file was completely copied, or false if the copy operation was aborted. - + The info. + The context. - + - Copies an existing file to a new file as a transacted operation. Overwriting a file of the same name is not allowed. + The function attempted to use a name that is reserved for use by another transaction. - The transaction. - The file to copy. - The name of the destination file. This cannot be a directory or an existing file. - + - Copies an existing file to a new file as a transacted operation. + Initializes a new instance of the class. - The transaction. - The file to copy. - The name of the destination file. This cannot be a directory or an existing file. - true if the destination file can be overwritten; otherwise, false. - + - Copies an existing file to a new file as a transacted operation. + Initializes a new instance of the class. - The name of an existing file. - The name of the new file. - Flags that specify how the file is to be copied. - The transaction to use. - true if the file was completely copied, or false if the copy operation was aborted. + The message. - + - Copies an existing file to a new file as a transacted operation, notifying the application of its progress through a callback function. + Initializes a new instance of the class. - The name of an existing file. - The name of the new file. - Flags that specify how the file is to be copied. - A callback function that is called each time another portion of the file has been copied. This parameter can be . - The argument to be passed to the callback function. This parameter can be . - The transaction to use. - true if the file was completely copied, or false if the copy operation was aborted. + The message. + The inner exception. - - - Creates, overwrites or opens a file or directory in the specified path. - + - Creates or overwrites a file in the specified path. + Initializes a new instance of the class. - The path and name of the file to create. - A that provides read/write access to the file specified in path. + The info. + The context. - + - Creates or overwrites a file in the specified path. + IntPtr wrapper which can be used as result of + Marshal.AllocHGlobal operation. + Calls Marshal.FreeHGlobal when disposed or finalized. - The path and name of the file to create. - The number of bytes buffered for reads and writes to the file. - - A that provides read/write access to the file specified in path. - - + - Creates or overwrites the specified file, specifying a buffer size and a value that describes how to create or overwrite the file. + Creates new instance with zero IntPtr - The name of the file. - The number of bytes buffered for reads and writes to the file. - One of the values that describes how to create or overwrite the file. - - A new file with the specified buffer size. - - + - Creates or overwrites the specified file, specifying a buffer size, a value that describes how to create or overwrite the file and a specified . + Copies data from a one-dimensional, managed 8-bit unsigned integer array to the unmanaged memory pointer referenced by this instance- - The name of the file. - The number of bytes buffered for reads and writes to the file. - One of the values that describes how to create or overwrite the file. - A instance that determines the access control and audit security for the file. - - A new file with the specified buffer size and security options. - + The one-dimensional array to copy from. + The zero-based index into the array where Copy should start. + The number of array elements to copy. - + - Creates or overwrites the specified file, - specifying advanced options , , , , and a buffer size. + Called when object is disposed or finalized. - The name of the file. - The option gives you more precise control over how you want to create a file. - The allow you additionaly specify to default redwrite capability - just write, bypassing any cache. - The option controls how you would like to share created file with other requesters. - The additional advanced options to create a file. - A instance that determines the access control and audit security for the file. - Size of the buffer. - A new file with the specified options and buffer size. - + - Creates or overwrites a file in the specified path as part of a transaction. + Represents information retrieved by . - The transaction. - The path and name of the file to create. - - A that provides read/write access to the file specified in path. - - + - Creates or overwrites a file in the specified path as part of a transaction. + Gets the file attributes. - The transaction. - The path and name of the file to create. - The number of bytes buffered for reads and writes to the file. - - A that provides read/write access to the file specified in path. - + The file attributes. - + - Creates or overwrites the specified file as part of a transaction, specifying a buffer size and a value that describes how to create or overwrite the file. + Gets a structure that specified when a file or directory was created. - The transaction. - The name of the file. - The number of bytes buffered for reads and writes to the file. - One of the values that describes how to create or overwrite the file. - - A new file with the specified buffer size. - + A structure that specified when a file or directory was created. - + - Creates or overwrites the specified file as part of a transaction, specifying a buffer size, a value that describes how to create or overwrite the file and a specified . + Gets a structure. + For a file, the structure specifies the last time that a file is read from or written to. + For a directory, the structure specifies when the directory is created. + For both files and directories, the specified date is correct, but the time of day is always set to midnight. + If the underlying file system does not support the last access time, this member is zero (0). - The transaction. - The name of the file. - The number of bytes buffered for reads and writes to the file. - One of the values that describes how to create or overwrite the file. - A instance that determines the access control and audit security for the file. - - A new file with the specified buffer size and security options. - + A structure that specified when a file was last written to or the directory created. - - - Creates or opens a file for writing UTF-8 encoded text. - + - Creates or opens a file for writing UTF-8 encoded text. + Gets a structure. + For a file, the structure specifies the last time that a file is written to. + For a directory, the structure specifies when the directory is created. + If the underlying file system does not support the last access time, this member is zero (0). - The file to be opened for writing. - A that writes to the specified file using UTF-8 encoding. + A structure that specified when a file was last written to or the directory created. - + - Creates or opens a file for writing UTF-8 encoded text as part of a transaction. + Gets the the serial number of the volume that contains a file. - The transaction. - The file to be opened for writing. - - A that writes to the specified file using UTF-8 encoding. - + The serial number of the volume that contains a file. - - + - Deletes the specified file. + Gets the size of the file. - - An exception is not thrown if the specified file does not exist. - - + The size of the file. + + - Deletes the specified file. An exception is not thrown if the specified file does not exist. + Gets the number of links to this file. For the FAT file system this member is always 1. For the NTFS file system, it can be more than 1. - The name of the file to be deleted. + The number of links to this file. - + - Deletes the specified file. An exception is not thrown if the specified file does not exist. + Gets the unique identifier associated with the file. The identifier and the volume serial number uniquely identify a + file on a single computer. To determine whether two open handles represent the same file, combine the identifier + and the volume serial number for each file and compare them. - The name of the file to be deleted. - if set to true ignores read only attribute of files. + The unique identifier of the file. - + - Deletes the specified file as part of a transaction. An exception is not thrown if the specified file does not exist. + Defines constants for read, write, or read/write access to a file. + This enumeration has a attribute that allows a bitwise combination of its member values. - The transaction. - The name of the file to be deleted. - + - Decrypts a file that was encrypted by the current account using the Encrypt method. + No access to the file. - A path that describes a file to decrypt. - + - Encrypts a file so that only the account used to encrypt the file can decrypt it. + Read access to the file. Data can be read from the file. Combine with Write for read/write access. - A path that describes a file to encrypt. - + - Retrieves the encryption status of the specified file. + Write access to the file. Data can be written to the file. Combine with Read for read/write access. - The name of the file. - The of the specified . - - - Determines whether the specified file exists. - + - Determines whether the specified file exists. + Read and write access to the file. Data can be written to and read from the file. - The file to check. Note that this files may contain wildcards, such as '*'. - true if the caller has the required permissions and path contains the name of an existing file; otherwise, false. This method also returns false if path is nullNothingnullptra null reference (Nothing in Visual Basic), an invalid path, or a zero-length string. If the caller does not have sufficient permissions to read the specified file, no exception is thrown and the method returns false regardless of the existence of path. - + - Determines whether the specified file exists as part of a transaction. + Represents a wrapper class for a handle used by the FindFirstFile/FindNextFile methods of the Win32 API - The transaction. - The file to check. Note that this files may contain wildcards, such as '*'. - - true if the caller has the required permissions and path contains the name of an existing file; otherwise, false. This method also returns false if path is nullNothingnullptra null reference (Nothing in Visual Basic), an invalid path, or a zero-length string. If the caller does not have sufficient permissions to read the specified file, no exception is thrown and the method returns false regardless of the existence of path. - - - - Gets a object that encapsulates access control list (ACL) entries for a particular file. - + - Gets a object that encapsulates the specified type of access control list (ACL) entries for a particular file. + Initializes a new instance of the class. - The path to a file containing a object that describes the file's access control list (ACL) information. - - A object that encapsulates the access control rules for the file described by the parameter. - - + - Gets a object that encapsulates the specified type of access control list (ACL) entries for a particular file. + Initializes a new instance of the class. - The path to a file containing a object that describes the file's access control list (ACL) information. - One (or more) of the values that specifies the type of access control list (ACL) information to receive. - A object that encapsulates the access control rules for the file described by the parameter. + The handle. + if set to true [owns handle]. - + - Applies access control list (ACL) entries described by a FileSecurity object to the specified file. + When overridden in a derived class, executes the code required to free the handle. - Note that unlike this method does not automatically - determine what parts of the specified instance has been modified. Instead, the - parameter is used to specify what entries from to - apply to . - A file to add or remove access control list (ACL) entries from. - A object that describes an ACL entry to apply to the file described by the parameter. - One or more of the values that specifies the type of access control - list (ACL) information to set. + + true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant. + - + - Gets the of the file on the path. + Exposes instance methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited. - The path to the file. - The of the file on the path. - - This method has two nested retrievals, the second one will usually be applied for root directories. - The resulted data will be populated from WIN32_FILE_ATTRIBUTE_DATA. - - - - Gets the of the file on the path. - + - Gets the of the file on the path. + Initializes a new instance of the class on the specified dirPath. - The path to the file. - The of the file on the path. + A string specifying the path on which to create the DirectoryInfo. - + - Gets the of the file on the path as part of a transaction. + Refreshes the state of the object. - The transaction. - The path to the file. - - The of the file on the path. - + + FileSystemInfo.Refresh takes a snapshot of the file from the current file system. Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information. This can happen on platforms such as Windows 98. + Calls must be made to Refresh before attempting to get the attribute information, or the information will be outdated. + - - - Sets the attributes for a file or directory. - + - Sets the attributes for a file or directory. + Deletes a file or directory. - The name of the file whose attributes are to be set. - The file attributes to set for the file. Note that all other values override . - + - Sets the attributes for a file or directory as part of a transaction. + Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files. - The transaction. - The name of the file whose attributes are to be set. - The file attributes to set for the file. Note that all other values override . + true to remove directories, subdirectories, and files in path; otherwise, false. + + If the DirectoryInfo has no files or subdirectories, this method deletes the DirectoryInfo even if recursive is false. Attempting to delete a DirectoryInfo that is not empty when recursive is false throws an IOException. + For a list of common I/O tasks, see Common I/O Tasks. + - + - Gets the extended file attribute data for a specific file or directory. + Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files. - The file or directory to get the data for. - A structure filled out with the relevant data. - This method does not change last access time for the file. + true to remove directories, subdirectories, and files in path; otherwise, false. + if set to true ignores read only attribute of files and directories. + + If the DirectoryInfo has no files or subdirectories, this method deletes the DirectoryInfo even if recursive is false. Attempting to delete a DirectoryInfo that is not empty when recursive is false throws an IOException. + For a list of common I/O tasks, see Common I/O Tasks. + - - - Returns the creation date and time of the specified file or directory. - + - Returns the creation date and time of the specified file or directory. + Returns the original path that was passed by the user. - The file or directory for which to obtain creation date and time information. - A structure set to the creation date and time for the specified file or directory. This value is expressed in local time. + Returns the original path that was passed by the user. - - - Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory. - + - Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory. + Gets a DirectorySecurity object that encapsulates the access control list (ACL) entries for the directory described by the current DirectoryInfo object. - The file or directory for which to obtain creation date and time information. - A structure set to the creation date and time for the specified file or directory. This value is expressed in UTC time. + A DirectorySecurity object that encapsulates the access control rules for the directory. - - - Returns the date and time the specified file or directory was last accessed. - + - Returns the date and time the specified file or directory was last accessed. + Gets a DirectorySecurity object that encapsulates the specified type of access control list (ACL) entries for the directory described by the current DirectoryInfo object. - The file or directory for which to obtain creation date and time information. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. + One of the AccessControlSections values that specifies the type of access control list (ACL) information to receive. + A DirectorySecurity object that encapsulates the access control rules for the file described by the path parameter. - - - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. - + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. + Applies access control list (ACL) entries described by a DirectorySecurity object to the directory described by the current DirectoryInfo object. - The path. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. - - - - Returns the date and time the specified file or directory was last written to. - - - Returns the date and time the specified file or directory was last written to. - - The path. - A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. + A DirectorySecurity object that describes an ACL entry to apply to the directory described by the path parameter. - - - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. - + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. + Returns the subdirectories of the current directory. - The file or directory for which to obtain write date and time information. - A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. + An array of DirectoryInfo objects. + If there are no subdirectories, this method returns an empty array. This method is not recursive. - + - Gets the extended file attribute data for a specific file or directory as part of a transaction. + Returns an array of directories in the current DirectoryInfo matching the given search criteria. - The transaction. - The file or directory to get the data for. - - A structure filled out with the relevant data. - + The search string, such as "System*", used to search for all directories beginning with the word "System". + An array of type DirectoryInfo matching searchPattern. + + Wildcards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". + The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. + If there are no subdirectories, or no subdirectories match the searchPattern parameter, this method returns an empty array. + For a list of common I/O tasks, see Common I/O Tasks. + - + - Returns the creation date and time of the specified file or directory as part of a transaction. + Returns an array of directories in the current DirectoryInfo matching the given search criteria and using a value to determine whether to search subdirectories. - The transaction to use. - The file or directory for which to obtain creation date and time information. + The search string, such as "System*", used to search for all directories beginning with the word "System". + One of the values of the SearchOption enumeration that specifies whether the search operation should include only the current directory or should include all subdirectories. - A structure set to the creation date and time for the specified file or directory. This value is expressed in local time. + An array of type DirectoryInfo matching searchPattern. + + Wildcards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". + The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. + If there are no subdirectories, or no subdirectories match the searchPattern parameter, this method returns an empty array. + For a list of common I/O tasks, see Common I/O Tasks. + - + - Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory as part of a transaction. + Returns a file list from the current directory. - The file or directory for which to obtain creation date and time information. - The transaction to use. - A structure set to the creation date and time for the specified file or directory. This value is expressed in UTC time. + An array of type FileInfo. - + - Returns the date and time the specified file or directory was last accessed as part of a transaction. + Returns a file list from the current directory matching the given searchPattern. - The file or directory for which to obtain creation date and time information. - The transaction to use. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. + The search string, such as "*.txt". + An array of type FileInfo. - + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed as part of a transaction. + Returns a file list from the current directory matching the given searchPattern and using a value to determine whether to search subdirectories. - The path. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. - The transaction to use. - - - - Returns the date and time the specified file or directory was last written to as part of a transaction. - - The path. - The transaction to use. - A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. + The search string, such as "System*", used to search for all directories beginning with the word "System". + One of the values of the SearchOption enumeration that specifies whether the search operation should include only the current directory or should include all subdirectories. + An array of type FileInfo. + + The following wildcard specifiers are permitted in searchPattern: "*" and "?". + The order of the returned file names is not guaranteed; use the Sort()()() method if a specific sort order is required. + Wildcards are permitted. For example, the searchPattern string "*.txt" searches for all file names having an extension of "txt". + The searchPattern string "s*" searches for all file names beginning with the letter "s". If there are no files, or no files that match the searchPattern string in the DirectoryInfo, this method returns an empty array. + - + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to as part of a transaction. + Returns an array of strongly typed FileSystemInfo entries representing all the files and subdirectories in a directory. - The file or directory for which to obtain write date and time information. - The transaction to use. - A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. + An array of strongly typed FileSystemInfo entries. + + This method is not recursive. + For subdirectories, the FileSystemInfo objects returned by this method can be cast to the derived class DirectoryInfo. Use the FileAttributes value returned by the FileSystemInfo.Attributes property to determine whether the FileSystemInfo represents a file or a directory. + Wild cards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". + The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. If there are no files or directories, or no files or directories that match the searchPattern string in the DirectoryInfo, this method returns an empty array. + For a list of common I/O tasks, see Common I/O Tasks. + - - - Retrieves file information for the specified file. - + - Retrieves file information for the specified file. + Retrieves an array of strongly typed FileSystemInfo objects representing the files and subdirectories matching the specified search criteria. - A connected to the open file from which to retrieve the information. - A object containing the requested information. + The search string, such as "System*", used to search for all directories beginning with the word "System". + An array of strongly typed FileSystemInfo objects matching the search criteria. + + This method is not recursive. + For subdirectories, the FileSystemInfo objects returned by this method can be cast to the derived class DirectoryInfo. Use the FileAttributes value returned by the FileSystemInfo.Attributes property to determine whether the FileSystemInfo represents a file or a directory. + Wild cards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". + The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. If there are no files or directories, or no files or directories that match the searchPattern string in the DirectoryInfo, this method returns an empty array. + For a list of common I/O tasks, see Common I/O Tasks. + - + - Retrieves file information for the specified file. + Moves a DirectoryInfo instance and its contents to a new path. - A connected to the open file from which to retrieve the information. - A object containing the requested information. + The name and path to which to move this directory. + The destination cannot be directory with the identical name. It can be an existing directory to which you want to add this directory as a subdirectory. + + This method throws an IOException if, for example, you try to move c:\mydir to c:\public, and c:\public already exists. You must specify "c:\\public\\mydir" as the destDirName parameter, or specify a new directory name such as "c:\\newdir". + This method permits moving a directory to a read-only directory. The read/write attribute of neither directory is affected. + For a list of common I/O tasks, see Common I/O Tasks. + - - - Moves a specified file to a new location, providing the option to specify a new file name. - + - Moves a specified file to a new location, providing the option to specify a new file name. + Gets a value indicating whether the file or directory exists. - The name of the file to move. - The new path for the file. - This method works across disk volumes, and it does not throw an exception if the source and destination are - the same. Note that if you attempt to replace a file by moving a file of the same name into that directory, you - get an IOException. You cannot use the Move method to overwrite an existing file. + true if the file exists; otherwise, false. - + - Moves a file or directory, including its children. + Gets the name of the last directory in the hierarchy if a hierarchy exists. Otherwise, the Name property gets the name of the directory. - The name of the existing file or directory on the local computer. - If specifies , the file cannot exist on - a remote share because delayed operations are performed before the network is available. - - The new name of the file or directory on the local computer. - When moving a file, can be on a different file system or volume. - If is on another drive, you must set the - flag in . - - When moving a directory, and must be on the same drive. - - The move options. + + + For a directory, Name returns only the name of the parent directory, such as Dir, not c:\Dir. For a subdirectory, Name returns only the name of the subdirectory, such as Sub1, not c:\Dir\Sub1. + - + - Moves a file or directory, including its children. You can provide a callback function that receives - progress notifications. + Gets the parent directory of a specified subdirectory. - The name of the existing file or directory on the local computer. - If specifies , the file cannot exist on - a remote share because delayed operations are performed before the network is available. - - The new name of the file or directory on the local computer. - When moving a file, can be on a different file system or volume. - If is on another drive, you must set the - flag in . - - When moving a directory, and must be on the same drive. - - The move options. - A callback function that is called each time another - portion of the file has been moved. The callback function can be useful if you provide a user interface that displays - the progress of the operation. This parameter can be . - An argument to be passed to the callback function. This parameter can be . - true if the file was completely moved, false if the operation was aborted. + The parent directory, or nullNothingnullptra null reference (Nothing in Visual Basic) if the path is null or if the file path denotes a root (such as "\", "C:", or * "\\server\share"). - + - Moves a specified file to a new location as part of a transaction, providing the option to specify a new file name. + Gets the root portion of a path. - The transaction. - The name of the file to move. - The new path for the file. - This method works across disk volumes, and it does not throw an exception if the source and destination are - the same. Note that if you attempt to replace a file by moving a file of the same name into that directory, you - get an IOException. You cannot use the Move method to overwrite an existing file. + A DirectoryInfo object representing the root of a path. - + - Moves a file or directory as part of a transaction, including its children. + Callback used by MoveFile and CopyFile to report progress about the + operation. - The transaction. - The name of the existing file or directory on the local computer. - If specifies , the file cannot exist on - a remote share because delayed operations are performed before the network is available. - The new name of the file or directory on the local computer. - When moving a file, can be on a different file system or volume. - If is on another drive, you must set the - flag in . - - When moving a directory, and must be on the same drive. - The move options. - + - Moves a file or directory as part of a transaction, including its children. You can provide a callback function that receives - progress notifications. + The requested operation was made in the context of a transaction that is no longer active. - The transaction. - The name of the existing file or directory on the local computer. - If specifies , the file cannot exist on - a remote share because delayed operations are performed before the network is available. - The new name of the file or directory on the local computer. - When moving a file, can be on a different file system or volume. - If is on another drive, you must set the - flag in . - - When moving a directory, and must be on the same drive. - The move options. - A callback function that is called each time another - portion of the file has been moved. The callback function can be useful if you provide a user interface that displays - the progress of the operation. This parameter can be . - An argument to be passed to the callback function. This parameter can be . - - true if the file was completely moved, false if the operation was aborted. - - - - Opens a on the specified path. - + - Opens a on the specified path with read/write access. + The requested operation is not valid on the Transaction object in its current state. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A opened in the specified mode and path, with read/write access and not shared. - + - Opens a on the specified path, with the specified mode and access. + The function attempted to use a name that is reserved for use by another transaction. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value that specifies the operations that can be performed on the file. - An unshared that provides access to the specified file, with the specified mode and access. - + - Opens a on the specified path, having the specified mode with read, write, or - read/write access and the specified sharing option. + The remote server or share does not support transacted file operations. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value specifying the type of access other threads have to the file. - A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. - + - Opens the specified file for reading purposes bypassing security attributes. - This method is simpler to use then BackupFileStream to read only file's data stream. + Static class providing utility methods for working with Microsoft Windows devices and volumes. Most + of the methods in this class is simple convenience methods for native Win32 API-calls to make them + simpler to use from managed languages. - The file path to open. - A on the specified path, having the read-only mode and sharing options. - + - Opens a FileStream on the specified path with read/write access as part of a transaction. + Retrieves the name of all volumes on the computer. - The transaction. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - - A opened in the specified mode and path, with read/write access and not shared. - + Requires Windows Vista, Windows XP, or Windows 2000 Professional. + An array containing the volume names on the computer. - + - Opens a on the specified path as part of a transaction, with the specified mode and access. + Retrieves the names of all volume mount points on the specified volume. - The transaction. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value that specifies the operations that can be performed on the file. - - An unshared that provides access to the specified file, with the specified mode and access. - + Requires Windows Vista, Windows XP, or Windows 2000 Professional. + The unique volume name of the volume to scan for volume mount points. A trailing backslash is required. + The names of all volume mount points on the specified volume. - + - Opens a on the specified path as part of a transaction, having the specified mode with read, write, or - read/write access and the specified sharing option. + Determines whether a disk drive containing the current directory is a removable, fixed, CD-ROM, RAM disk, or network drive. - The transaction. - The file to open. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. - A value specifying the type of access other threads have to the file. - - A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. - + Requires Windows Vista, Windows XP, or Windows 2000 Professional. + A value indicating whether a disk drive containing the current directory is a removable, fixed, CD-ROM, RAM disk, or network drive. - - - Opens an existing file for reading. - + - Opens an existing file for reading. + Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive. - The file to be opened for reading. - A read-only on the specified path. + Requires Windows Vista, Windows XP, or Windows 2000 Professional. + The root directory for the drive. A trailing backslash is required. + A value indicating whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive. - + - Opens an existing file for reading as part of a transaction. + Returns an array of strings that specify valid drives in the system. - The transaction. - The file to be opened for reading. - - A read-only on the specified path. - + Each string in the buffer may be used wherever a root directory is required, such as for the GetDriveType and GetDiskFreeSpace functions. + An array of strings that specify valid drives in the system. - - - Opens an existing UTF-8 encoded text file for reading. - + - Opens an existing UTF-8 encoded text file for reading. + Retrieves information about the file system and volume associated with the specified root directory. - The file to be opened for reading. - A StreamReader on the specified path. + The root directory of the volume to be described. + A instance describing the volume associatied with the specified root directory + was not a valid volume name - + - Opens an existing UTF-8 encoded text file for reading as part of a transaction. + Retrieves information about the file system and volume associated with the specified . - The transaction. - The file to be opened for reading. - A StreamReader on the specified path. + The file. + A instance describing the volume associatied with the specified root directory + was not a valid volume name - - - Opens an existing file for writing. - + - Opens an existing file for writing. + Sets the label of a file system volume. - The file to be opened for writing. - An unshared object on the specified path with Write access. + The root directory of a file system volume. This is the volume the function will label. A trailing backslash is required. + A name for the volume. + or is a reference. - + - Opens an existing file for writing as part of a transaction. + Sets the label of the file system volume that is the root of the current directory - The transaction. - The file to be opened for writing. - - An unshared object on the specified path with Write access. - + A name for the volume. + is a reference. - + - Transfers the time stamps for files and directories. + Deletes the label of a file system volume. - The source path. - The destination path. - - This method uses BackupSemantics flag to get Timestamp changed for folders. - This method does not change last access time for the source file. - + The root directory of a file system volume. This is the volume the function will label. A trailing backslash is required. + is a reference. - - - Opens a binary file, reads the contents of the file into a byte array, and then closes the file. - + - Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + Deletes the label of the file system volume that is the root of the current directory - The file to open for reading. - A byte array containing the contents of the file. - + - Opens a binary file, reads the contents of the file into a byte array, and then closes the file as part of a transaction. + Mounts the specified volume at the specified volume mount point. - The transaction. - The file to open for reading. - - A byte array containing the contents of the file. - + The volume mount point where the volume is to be mounted. This may be a root directory (X:\) or a directory on a volume (X:\mnt\). The string must end with a trailing backslash ('\'). + The volume to be mounted. This string must be a unique volume name of the form "\\?\Volume{GUID}\" where GUID is a GUID that identifies the volume. The \\?\ turns off path parsing and is ignored as part of the path. For example, "\\?\C:\myworld\private" is seen as "C:\myworld\private". - - - Opens a text file, reads all lines of the file, and then closes the file. - + - Opens a text file, reads all lines of the file, and then closes the file. + Unmounts the volume from the specified volume mount point. - The file to open for reading. - A string array containing all lines of the file. + The volume mount point to be unmounted. This may be a root directory (X:\, in which case the DOS drive letter assignment is removed) or a directory on a volume (X:\mnt\). A trailing backslash is required. + is + It is not an error to attempt to unmount a volume from a volume mount point when there is no volume actually mounted at that volume mount point. - + - Opens a file, reads all lines of the file with the specified encoding, and then closes the file. + Defines or redefines MS-DOS device names. - The file to open for reading. - The encoding applied to the contents of the file. - A string array containing all lines of the file. + A MS-DOS path string that will implement this device. + An MS-DOS device name string specifying the device the function is + defining or redefining. The device name string must not have a trailing colon, unless a drive + letter (C or D, for example) is being defined or redefined. In no case is a trailing backslash allowed. + true upon success, or false otherwise. + Call Marshal.GetLastWin32Error() to receive additional error information if this method fails. - + - Opens a text file as part of a transaction, reads all lines of the file, and then closes the file. + Deletes an MS-DOS device name. - The transaction. - The file to open for reading. - - A string array containing all lines of the file. - + An MS-DOS device name string specifying the device the function is + deleting. The device name string must not have a trailing colon, unless a drive + letter (C or D, for example) is being deleted. In no case is a trailing backslash allowed. + true upon success, or false otherwise. + Call Marshal.GetLastWin32Error() to receive additional error information if this method fails. - + - Opens a file as part of a transaction, reads all lines of the file with the specified encoding, and then closes the file. + Retrieves information about MS-DOS device names. + The function can obtain the current mapping for a particular MS-DOS device name. + The function can also obtain a list of all existing MS-DOS device names. - The transaction. - The file to open for reading. - The encoding applied to the contents of the file. - - A string array containing all lines of the file. - + The device. + An MS-DOS device name string specifying the target of the query. The device name cannot have a + trailing backslash. This parameter can be . In that case, the QueryDosDevice function + will return an array of all existing MS-DOS device names + See documentation on MSDN for the Windows QueryDosDevice() method for more information. - - - Opens a text file, reads all lines of the file, and then closes the file. - + - Opens a text file, reads all lines of the file, and then closes the file. + Retreives a list of all existing MS-DOS device names. - The file to open for reading. - A string containing all lines of the file. + A list of all existing MS-DOS device names. + + This is equivalent to calling QueryDosDevice(null) + See documentation on MSDN for the Windows QueryDosDevice() method for more information. - + - Opens a file, reads all lines of the file with the specified encoding, and then closes the file. + Gets the shortest display name for the specified . - The file to open for reading. - The encoding applied to the contents of the file. - A string containing all lines of the file. + The volume name. + The shortest display name for the specified volume found, or if no display names were found. + is a reference + An error occured during a system call, such as the volume name specified was invalid or did not exist. + This method basically returns the shortest string returned by - + - Opens a text file as part of a transaction, reads all lines of the file, and then closes the file. + Retrieves a list of path names for the specified volume name. - The transaction. - The file to open for reading. - - A string containing all lines of the file. - + The volume name. + An array containing the path names for the specified volume. + is a reference + The volume name specified was invalid, did not exist or was not ready. + For more information about this method see the MSDN documentation on GetVolumePathNamesForVolumeName(). - + - Opens a text file as part of a transaction, reads all lines of the file with the specified encoding, and then closes the file. + Determines whether the specified volume name is a defined volume on the current computer. - The transaction. - The file to open for reading. - The encoding applied to the contents of the file. + A string representing the path to a volume (eg. "C:\", "D:", "P:\Mountpoint\Backup", "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\"). A trailing backslash is required. - A string containing all lines of the file. + true if the specified volume is a defined volume; otherwise, false. + The trailing backslash is optional + is a reference + Upon error retreiving the volume name - - - Replaces one file with another file, with the option of creating a backup copy of the original file. The replacement file assumes the name of the replaced file and its identity. - - - Replaces one file with another file, with the option of creating a backup copy of the original file. The replacement file assumes the name of the replaced file and its identity. - - The name of a file that replaces the file specified by . - The name of the file being replaced. - The name of the backup file. - - + - Replaces one file with another file, with the option of creating a backup copy of the original file. The replacement file assumes the name of the replaced file and its identity. + Retrieves the unique volume name for the specified volume mount point or root directory. - The name of a file that replaces the file specified by . - The name of the file being replaced. - The name of the backup file. - set to true to ignore merge errors (such as attributes and access control lists (ACLs)) from the replaced file to the replacement file; otherwise, false. + The path of a volume mount point (with or without a trailing backslash, "\") or a drive letter indicating a root directory (eg. "C:" or "D:\"). A trailing backslash is required. + The unique volume name of the form "\\?\Volume{GUID}\" where GUID is the GUID that identifies the volume. + is a reference + is an empty string + Upon error retreiving the volume name + See the MSDN documentation on the method GetVolumeNameForVolumeMountPoint() for more information. - + - Internal method for setting file times on a file. + Retrieves the unique name of the volume mount point where the specified path is mounted. - The path. - The creation time. - The last access time. - The last write time. - This method uses FileOptions.BackupSemantics flag to write Timestamps to folders as well. + The input path. Both absolute and relative file and + directory names, for example ".", are acceptable in this path. + If you specify a relative directory or file name without a volume qualifier, + GetUniqueVolumeNameForPath returns the drive letter of the boot volume. A trailing backslash is required. + The unique name of the volume mount point where the specified path is mounted + See the MSDN documentation on the method GetVolumePathName() for more information. + is a reference + is an empty string + Upon error retreiving the volume name - - - Sets the date and time the file was created. - + - Sets the date and time the file was created. + Retreives the Win32 device name from the volume name - The file for which to set the creation date and time information. - A containing the value to set for the creation date and time of path. This value is expressed in local time. + Name of the volume. A trailing backslash is not allowed. + The Win32 device name from the volume name - - - Sets the date and time, in coordinated universal time (UTC), that the file was created. - + - Sets the date and time, in coordinated universal time (UTC), that the file was created. + Retrieves information about the amount of space that is available on a disk volume, + which is the total amount of space, the total amount of free space, and the total amount of + free space available to the user that is associated with the calling thread. - The file for which to set the creation date and time information. - A containing the value to set for the creation date and time of path. This value is expressed in UTC time. + A directory on the disk. + If this parameter is NULL, the function uses the root of the current disk. + If this parameter is a UNC name, it must include a trailing backslash, for example, "\\MyServer\MyShare\". + This parameter does not have to specify the root directory on a disk. The function accepts any directory on a disk. + + The calling application must have FILE_LIST_DIRECTORY access rights for this directory. + + A object containing the requested information. - - - Sets the date and time, in local time, that the file was last accessed. - + - Sets the date and time, in local time, that the file was last accessed. + Represents a wrapper class for a handle used by the FindFirstVolume/FindNextVolume methods of the Win32 API - The file for which to set the last access date and time information. - A containing the value to set for the last access date and time of path. This value is expressed in local time. - - - Sets the date and time, in coordinated universal time (UTC), that the file was last accessed. - + - Sets the date and time, in coordinated universal time (UTC), that the file was last accessed. + Initializes a new instance of the class. - The file for which to set the last access date and time information. - A containing the value to set for the last access date and time of path. This value is expressed in UTC time. - - - Sets the date and time, in local time, that the file was last modified. - + - Sets the date and time, in local time, that the file was last modified. + Initializes a new instance of the class. - The file for which to set the last modification date and time information. - A containing the value to set for the last modification date and time of path. This value is expressed in local time. + The handle. + if set to true [owns handle]. - - - Sets the date and time, in coordinated universal time (UTC), that the file was last modified. - + - Sets the date and time, in coordinated universal time (UTC), that the file was last modified. + When overridden in a derived class, executes the code required to free the handle. - The file for which to set the last modification date and time information. - A containing the value to set for the last modification date and time of path. This value is expressed in UTC time. + + true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant. + - - - Sets all the time stamps at once. - + - Sets the time stamps at once. + A strongly-typed resource class, for looking up localized strings, etc. - The path. - The creation time. - The last access time. - The last write time. - - - Sets all the time stamps at once in UTC. - + - Sets all the time stamps at once in UTC. + Returns the cached ResourceManager instance used by this class. - - This method is redundant, because NTFS driver converts any dates in UTC format anyways. - - The path. - The creation time. - The last access time. - The last write time. - + - Internal method for setting file times on a file as part of a transaction. + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. - The transaction. - The path. - The creation time. - The last access time. - The last write time. - - - Sets the date and time the file was created as part of a transaction. - - The transaction. - The file for which to set the creation date and time information. - A containing the value to set for the creation date and time of path. This value is expressed in local time. + + + Looks up a localized string similar to AlphaFS Internal Error: + . + - + - Sets the date and time as part of a transaction, in coordinated universal time (UTC), that the file was created. + Looks up a localized string similar to Argument must not be empty. - The transaction. - The file for which to set the creation date and time information. - A containing the value to set for the creation date and time of path. This value is expressed in UTC time. - + + + Looks up a localized string similar to Incorrectly implemented function attempting to generate exception from successful operation. + . + + + - Sets the date and time as part of a transaction, in local time, that the file was last accessed. + Looks up a localized string similar to Buffer is not large enough for the requested operation.. - The transaction. - The file for which to set the last access date and time information. - The last access time. - + - Sets the date and time as part of a transaction, in coordinated universal time (UTC), that the file was last accessed. + Looks up a localized string similar to Count must not be negative.. - The transaction. - The file for which to set the last access date and time information. - The last access time. - + - Sets the date and time as part of a transaction, in local time, that the file was last modified. + Looks up a localized string similar to Directory not empty. - The transaction. - The file for which to set the last modification date and time information. - The last write time. - + - Sets the date and time as part of a transaction, in coordinated universal time (UTC), that the file was last modified. + Looks up a localized string similar to Directory not found. - The transaction. - The file for which to set the last modification date and time information. - The last write time. - + - Sets the time stamps at once. + Looks up a localized string similar to Error code was: {0}. - The transaction. - The path. - The creation time. - The last access time. - The last write time. - + - Sets the time stamps at once in UTC. But it's redundant, because NTFS driver converts any dates in UTC format anyways. + Looks up a localized string similar to Creating hard-links on non-NTFS partitions is not supported. - The transaction. - The path. - The creation time. - The last access time. - The last write time. - - - Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. - + - Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Illegal path: {0}. - The file to write to. - The bytes to write to the file. - + - Creates a new file as part of a transaction, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Incomplete header read.. - The transaction. - The file to write to. - The bytes to write to the file. - - - Creates a new file, write the specified string array to the file, and then closes the file. If the target file already exists, it is overwritten. - + - Creates a new file, write the specified string array to the file, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Invalid directory name. - The file to write to. - The string array to write to the file. - + - Creates a new file, writes the specified string array to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Invalid file name: {0}. - The file to write to. - he string array to write to the file. - An object that represents the character encoding applied to the string array. - + - Creates a new file as part of a transaction, write the specified string array to the file, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Invalid handle. - The transaction. - The file to write to. - The string array to write to the file. - + - Creates a new file as part of a transaction, writes the specified string array to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Invalid search pattern. - The transaction. - The file to write to. - he string array to write to the file. - An object that represents the character encoding applied to the string array. - - - Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten. - + - Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Invalid security descriptor returned from system.. - The file to write to. - The string to write to the file. - + - Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Invalid transaction object. - The file to write to. - The string to write to the file. - An object that represents the encoding to apply to the string. - + - Creates a new file as part of a transaction, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to Invalid transaction request. - The transaction. - The file to write to. - The string to write to the file. - + - Creates a new file as part of a transaction, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. + Looks up a localized string similar to The file or directory is not a reparse point. - The transaction. - The file to write to. - The string to write to the file. - An object that represents the encoding to apply to the string. - - - Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system, and only for files, not directories. - + - Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system, and only for files, not directories. + Looks up a localized string similar to Offset must not be negative.. - The source file. - The destination file. - The destination file already exists. - An attempt to create a hard-link on a non-supported filesystem - could not be found - + - Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system, and only for files, not directories. + Looks up a localized string similar to Path already exists. - The source file. - The destination file. - The transaction to use. - The destination file already exists. - An attempt to create a hard-link on a non-supported filesystem - could not be found - - - Creates a symbolic link. - + - Creates a symbolic link. + Looks up a localized string similar to This stream does not support seeking.. - The name of the target for the symbolic link to be created. - The symbolic link to be created. - Indicates whether the link target, , is a file or directory. - + - Creates a symbolic link as part of a transaction. + Looks up a localized string similar to Transactional conflict. - The name of the target for the symbolic link to be created. - The symbolic link to be created. - Indicates whether the link target, , is a file or directory. - The transaction to use. - + - Gets information about the target of a mount point or symbolic link on an NTFS file system. + Looks up a localized string similar to Transaction already aborted. - The path to the reparse point. - An instance of or containing - information about the symbolic link or mount point pointed to by . - + - Gets information about the target of a mount point or symbolic link on an NTFS file system as part of a transaction. + Looks up a localized string similar to Transaction already committed. - The transaction. - The path to the reparse point. - - An instance of or containing - information about the symbolic link or mount point pointed to by . - - - - Enumerates all hard links to the specified file. - + - Creates an enumeration of all the hard links to the specified . + Looks up a localized string similar to Transaction not active. - Required Windows Vista or later. - The name of the file. - An enumeration of all the hard links to the specified - + - Creates an enumeration of all the hard links to the specified as part - of the specified . + Looks up a localized string similar to Transaction not requested. - The transaction to use. - The name of the file. - - An enumeration of all the hard links to the specified - - Required Windows Vista or later. - - - Retrieves the actual number of bytes of disk storage used to store a specified file. - + - Retrieves the actual number of bytes of disk storage used to store a specified file. + Specifies the type of a symbolic link - - If the file is located on a volume that - supports compression and the file is compressed, the value obtained is the compressed size of the specified file. - If the file is located on a volume that supports sparse files and the file is a sparse file, the value obtained is the sparse - size of the specified file. - - The name of the file. - Do not specify the name of a file on a nonseeking device, such as a pipe or a communications device, as its file size has no meaning. - - the actual number of bytes of disk storage used to store the specified file. - - + - Retrieves the actual number of bytes of disk storage used to store a specified file as part of a transaction. If the file is located on a volume that - supports compression and the file is compressed, the value obtained is the compressed size of the specified file. - If the file is located on a volume that supports sparse files and the file is a sparse file, the value obtained is the sparse - size of the specified file. + The symbolic link is absolute - The transaction. - The name of the file. - Do not specify the name of a file on a nonseeking device, such as a pipe or a communications device, as its file size has no meaning. - - the actual number of bytes of disk storage used to store the specified file. - - + - Specifies the type of a drive. + The symbolic link is relative - + - The drive type cannot be determined. + The function should return one of the following values. - + - The root path is invalid; for example, there is no volume is mounted at the path. + Continue the copy operation. - + - The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader. + Cancel the copy operation and delete the destination file. - + - The drive has fixed media; for example, a hard drive or flash drive. + Stop the copy operation. It can be restarted at a later time. - + - The drive is a remote (network) drive. + Continue the copy operation, but stop invoking to report progress. - + - The drive is a CD-ROM drive. + The transaction handle associated with this operation is not valid. - + - The drive is a RAM disk. + Initializes a new instance of the class. - + - Flags that specify how a file is to be copied. + Initializes a new instance of the class. + The message. - + - None of the other flags. + Initializes a new instance of the class. + The message. + The inner exception. - + - The copy operation fails immediately if the target file already exists. + Initializes a new instance of the class. + The data for serializing or deserializing the object. + The source and destination for the object. - + - Progress of the copy is tracked in the target file in case the copy fails. - The failed copy can be restarted at a later time by specifying the same values for - existing file name and new file name as those used in the call that failed. + Used to enable one or more privileges. The privileges specified will be enabled during the + lifetime of the instance. Users create an instance of this object in a using statement + to ensure that it is properly disposed when the elevated privileges are no longer needed. - + - The file is copied and the original file is opened for write access. + Initializes a new instance of the class. This will enable the + privileges specified (unless already enabled), and ensure that they are disabled again when + the object is disposed. (Any privileges already enabled will not be disabled). + The privilege to enable. + Additional privileges to enable. - + - An attempt to copy an encrypted file will succeed even if the destination copy cannot be encrypted. + Makes sure any privileges enabled by this instance are disabled. - - - Windows 2000: - This value is not supported - - - + - If the source file is a symbolic link, the destination file is also a symbolic link pointing to the same file that the source symbolic link is pointing to. + Gets the enabled privileges. Note that this might not contain all privileges specified + to the constructor. Only the privileges actually enabled by this instance is returned. - - - Windows Server 2003 and Windows XP/2000: - This value is not supported - - + The enabled privileges. - + - Represents information about a file system entry. Used together with . + The move options for a file move operation. - + - Initializes a new instance of the class. + If the destination file name already exists, the function replaces its contents with the contents of the + source file. + This value cannot be used if either source or destination names a directory. - + - Initializes a new instance of the class. + If the file is to be moved to a different volume, the function simulates the move by using the CopyFile and DeleteFile functions. - The WIN32_FILE_ATTRIBUTE_DATA. + This value cannot be used with . - + - Gets the attributes. + The system does not move the file until the operating system is restarted. The system moves the file immediately after AUTOCHK is executed, but before creating any paging files. Consequently, this parameter enables the function to delete paging files from previous startups. + This value can only be used if the process is in the context of a user who belongs to the administrators group or the LocalSystem account. - The attributes. + This value cannot be used with . - + - Gets the name of the file. + The function does not return until the file has actually been moved on the disk. + Setting this value guarantees that a move performed as a copy and delete operation is flushed + to disk before the function returns. The flush occurs at the end of the copy operation. - The name of the file. + This value has no effect if is set. - + - Gets the size of the file. + Reserved for future use. - The size of the file. - + - Gets the 8.3 version of the filename. + The function fails if the source file is a link source, but the file cannot be tracked after the move. + This situation can occur if the destination is a volume formatted with the FAT file system. - the 8.3 version of the filename. - + - Gets the time this entry was created. + The exception that is thrown when a pathname or filename is illegal. - The time this entry was created. - + - Gets the time this entry was last accessed. + Initializes a new instance of the class. - The time this entry was last accessed. - + - Gets the time this entry was last modified. + Initializes a new instance of the class. - The time this entry was last modified. + The path. - + - Gets a value indicating whether this instance represents a directory. + Initializes a new instance of the class. - - true if this instance represents a directory; otherwise, false. - + The path. + The inner exception. - + - Gets a value indicating whether this instance is definitely a file. + Initializes a new instance of the class. - true if this instance is file; otherwise, false. - Definite file is NOT a directory and NOT a device. + The data for serializing or deserializing the object. + The source and destination for the object. - + - Gets a value indicating whether this instance is a reparse point. + Represents information about a symbolic link. - - true if this instance is a reparse point; otherwise, false. - - + - Gets a value indicating whether this instance is a mount point. + Information about the target of a symbolic link or mount point. - - true if this instance is a mount point; otherwise, false. - - + - Gets a value indicating whether this instance is a symbolic link. + The substitute name - - true if this instance is a symbolic link; otherwise, false. - - + - Gets the reparse point tag of this entry. + The print name - The reparse point tag of this entry. - + - A representation of a path, providing convenient access to the individual components - of the path. + Gets the type of the link. - Note that no methods in this class verifies whether the path actually exists or not. + The type of the link. - - + - Initializes a new instance of the class. + The structure contains stream header data. - - The path. - is - The path is not a legal path in the Win32 file system. + - + - Initializes a new instance of the class specifying whether wildcards - should be accepted or not. + Initializes a new instance of the class. - The path. - if set to true wildcards are allowed in the file - name part of the path. If set to false, wildcards are not allowed and an - will be thrown if they are present. - is - - Note that under no circumstances will this class accept wildcards in - the directory part of the path, only in the file-name, i.e. the component - after the last backslash or separator. - - - Extended length unicode paths (also referred to as long paths) (those starting with \\?\) will not be - parsed for wildcards etc., regardless of the setting of this parameter. - In such a path any character is valid and backslashes alone are considered - to be separators. - - + The stream ID. + The name. - + - Initializes a new instance of the class. + Gets the size of the data in the substream, in bytes. - The path. - The indices. - Position of the beginning of the file extension in the path. + The size of the data in the substream, in bytes. - + - Retrieves the full long (or extended) unicode version of the path represented by this instance. + Gets a string that specifies the name of the alternative data stream. - - - This method takes care of different path conversions to be usable in Unicode - variants of the Win32 funcitons (which are internally used throughout AlphaFS). - - - Regular paths are changed like the following: - - - C:\Somewhere\Something.txt - \\?\C:\Somewhere\Something.txt - - - \\Somewhere\Something.txt - \\?\UNC\Somewhere\Something.txt - - - - - Already processed paths are preserved untouched so to avoid mistakes of double prefixing. - - - If the path represented by this instance is not an absolute path, or is not rooted, the path of the - current directory (and drive) is combined with this path to form - an absolute path. - - - The full long (or extended) unicode version of the specified . - - + A string that specifies the name of the alternative data stream. - + - Gets the full absolute path of the path represented by this instance. - This is done by "applying" the path to the current directory if the path - does not contain a root, or the volume of the current directory if the - path does not contain any drive information. + Gets the type of the data in the stream. - The full absolute path. + The type of the data in the stream. - + - Returns a that represents the current . + Gets the attributes of the data to facilitate cross-operating system transfer. - - A that represents the current . - + Attributes of the data to facilitate cross-operating system transfer. - + - Performs a lexiographical comparison of the string representations of this and - the other path, ignoring case. + This object is used to enable a specific privilege for the currently running process during its lifetime. + It should be disposed as soon as the elevated privilege is no longer needed. + For more information see the documentation on AdjustTokenPrivileges on MSDN. - A to compare with this object. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . - - + - Performs a lexiographical comparison for equality of the string representations of this and - the other path, ignoring case. + Initializes a new instance of the class and enabling the specified privilege + for the currently running process. - An object to compare with this object. - - true if the current object is equal to the parameter; otherwise, false. - + The name of the privilege. - + - Performs a lexiographical comparison for equality of the string representations of this and - the other path, ignoring case. + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + In this case the privilege previously enabled will be disabled. - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - + - Serves as a hash function for a particular type. + Adjusts the privilege. - - A hash code for the current . - + if set to true the privilege will be enabled, otherwise disabled. - + - Combines two paths. + The function attempted to use a name that is reserved for use by another transaction. - The first path. - The second path. - A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If path2 contains an absolute path, this method returns path2. - + - Combines two paths. + Initializes a new instance of the class. - The first path. - The second path. - A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If path2 contains an absolute path, this method returns path2. - + - Implements the operator ==. + Initializes a new instance of the class. - The path1. - The path2. - The result of the operator. + The message. - + - Implements the operator !=. + Initializes a new instance of the class. - The path1. - The path2. - The result of the operator. + The message. + The inner exception. - + - Implements the operator <. + Initializes a new instance of the class. - The path1. - The path2. - The result of the operator. + The info. + The context. - + - Implements the operator >. + Attributes of data to facilitate cross-operating system transfer. - The path1. - The path2. - The result of the operator. + - + - Retrieves the parent directory of the specified path, including both absolute and relative paths. + Attribute set if the stream contains data that is modified when read. Allows the backup application to know that verification of data will fail. - The parent directory, or if path is the root directory, including the root of a UNC server or share name. - + - Gets the full normalized path, with a trailing backslash if the path denotes a directory. + Stream contains security data (general attributes). Allows the stream to be ignored on cross-operations restore. + This attribute applies only to backup stream of type . - The full normalized path, with a trailing backslash if the path denotes a directory. - - + - Gets the full normalized path. + Reserved. - The full path. - - + - Gets the file name part of the path. + This backup stream has no special attributes. - The file name part of the path, or an empty string if the path does not contain a file name. - + - Gets the root of the path. + The backup stream is part of a sparse file stream. This attribute applies only to backup stream of + type , , and . - The root of the path, which may be a drive (eg. "C:\"), a remote computer as part of - an UNC path (eg. "\\OtherComputer\"), a unique volume name - (eg. "\\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\") or a single directory - separator ("\") if no drive or volume is present in the path. If does not contain - any root, an empty string is returned. - + - Gets a value indicating whether the path is rooted. + Defines the access rights to use when creating access and audit rules. - true if this instance is rooted; otherwise, false. + + This enumeration has a attribute that allows a bitwise combination of its member values. + - + - Gets a value indicating whether this instance has file name. + Specifies the right to open and copy folders or files as read-only. This right includes the + right, right, right, + and right. - - true if this instance has file name; otherwise, false. - - + - Gets the extension of the file name of this path. + Specifies the right to create folders and files, and to add or remove data from files. This right includes the + right, right, right, and right. - The extension of the file name of this path, or an empty string if the path does - not contain a file name or the file name does not have an extension. - + - Gets a value indicating whether the file name in this path has an extension. + Specifies the right to open and copy folders or files as read-only, and to run application files. + This right includes the right and the right. - - true if the file name in this path has an extension; otherwise, false. - - + - Gets the file name without extension. + Specifies the right to read, write, list folder contents, delete folders and files, and run application files. + This right includes the right, the right, and the right. - The file name without extension or an empty string if the - path does not contain a file name. - + - Returns the directory information for the path with a trailing directory separator. + Specifies the right to open and copy a file or folder. This does not include the right to read file system attributes, extended file system attributes, or access and audit rules. - The name of the suffixed directory with a trailing directory separator. - - + - Returns the directory information for the path without the root information, and with a trailing backslash. + Specifies the right to read the contents of a directory. - The path without the root and file name part (if any) and with a trailing backslash. - - - - + - Returns the directory information for the path. + Specifies the right to open and write to a file or folder. This does not include the right to open and write file system attributes, extended file system attributes, or access and audit rules. - The path without the file name part (if any). - - + - Returns the directory information for the path with the root stripped off. + Specifies the right to create a file. - The path without the root and file name part (if any). - + - Gets a list exposing the individual components of the directory part of this path. + Specifies the right to append data to the end of a file. - The directory components of this path. - + - Determines the index of a specific item in the . + Specifies the right to create a folder. - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - + - Inserts an item to the at the specified index. + Specifies the right to open and copy extended file system attributes from a folder or file. For example, this value specifies the right to view author and content information. This does not include the right to read data, file system attributes, or access and audit rules. - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - + - Removes the item at the specified index. + Specifies the right to open and write extended file system attributes to a folder or file. This does not include the ability to write data, attributes, or access and audit rules. - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - + - Adds an item to the . + Specifies the right to run an application file. - The object to add to the . - The is read-only. - + - Removes all items from the . + Specifies the right to list the contents of a folder and to run applications contained within that folder. - The is read-only. - + - Determines whether the contains a specific value. + Specifies the right to delete a folder and any files contained within that folder. - The object to locate in the . - - true if is found in the ; otherwise, false. - - + - Copies the elements of the to an , starting at a particular index. + Specifies the right to open and copy file system attributes from a folder or file. For example, this value specifies the right to view the file creation or modified date. This does not include the right to read data, extended file system attributes, or access and audit rules. - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than 0. - - is multidimensional.-or- is equal to or greater than the length of .-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination . - + - Removes the first occurrence of a specific object from the . + Specifies the right to open and write file system attributes to a folder or file. This does not include the ability to write data, extended attributes, or access and audit rules. - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - + - Returns an enumerator that iterates through the collection. + Specifies the right to delete a folder or file. - - A that can be used to iterate through the collection. - - + - Returns an enumerator that iterates through a collection. + Specifies the right to open and copy access and audit rules from a folder or file. This does not include the right to read data, file system attributes, and extended file system attributes. - - An object that can be used to iterate through the collection. - - + - Gets the at the specified index. + Specifies the right to change the security and audit rules associated with a file or folder. - The component of the directory at the specified index - If is out of range. - + - Gets the number of elements contained in the . + Specifies the right to change the owner of a folder or file. Note that owners of a resource have full access to that resource. - - The number of elements contained in the . - + - Gets a value indicating whether the is read-only. + Specifies whether the application can wait for a file handle to synchronize with the completion of an I/O operation. - - true - + - Removes a reference to the parent directory ("..") if possible. - This must be called *before* the reference to the parent directory has been - added. + Specifies the right to exert full control over a folder or file, and to modify access control and audit rules. + This value represents the right to do anything with a file and is the combination of all rights in this enumeration except + for - true if the reference was removed, and false if it was kept. - + - Performs operations on String instances that contain file or directory path information. + The access right controls the ability to get or set the SACL in an object's security + descriptor. The system grants this access right only if the privilege is enabled in the + access token of the requesting thread (see ). - + - Provides standard Windows UNC path prefix + The provides access to data associated with a specific file or directory, including security information + and alternative data streams, for backup and restore operations. + This class uses the BackupRead, + BackupSeek and + BackupWrite functions from the Win32 API to provide + access to the file or directory. + - + - Provides standard Windows long path prefix + Initializes a new instance of the class with the specified path, creation mode, access rights + and sharing permission, additional file options, access control and audit security. + The transaction. + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + A constant that determines how the file will be shared by processes. + A constant that specifies additional file options. + A constant that determines the access control and audit security for the file. This parameter may be . + + Initializes a new instance of the class. + - + - Provides standard Windows long path UNC prefix + Initializes a new instance of the class with the specified path, creation mode, access rights + and sharing permission, and additional file options. + The transaction. + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + A constant that determines how the file will be shared by processes. + A constant that specifies additional file options. - + - Changes the extension of a path string. + Initializes a new instance of the class with the specified path, creation mode, access rights + and sharing permission. - The path information to modify. The path cannot contain any of the characters defined in GetInvalidPathChars. - The new extension (with a leading period). Specify to remove an existing extension from path. - The specified with the extension of the file name changed to the specified . + The transaction. + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + A constant that determines how the file will be shared by processes. - + - Combines two path strings. + Initializes a new instance of the class with the specified path, creation mode and access rights. - The path1. - The path2. - A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If contains an absolute path, this method returns . + The transaction. + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + The file will be opened for exclusive access. - + - Returns the directory information for the specified with a trailing directory separator. + Initializes a new instance of the class with the specified path and creation mode. - The path. - The directory information for the specified with a trailing directory separator. - - - + The transaction. + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + The file will be opened for exclusive access for both reading and writing. - + - Returns the directory information for the specified without the root and with a trailing directory separator. + Initializes a new instance of the class with the specified path, creation mode, access rights + and sharing permission, additional file options, access control and audit security. - The path. - The directory information for the specified without the root and with a trailing directory separator. - - - + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + A constant that determines how the file will be shared by processes. + A constant that specifies additional file options. + A constant that determines the access control and audit security for the file. This parameter may be . + + Initializes a new instance of the class. + - + - Returns the directory information for the specified path string. + Initializes a new instance of the class with the specified path, creation mode, access rights + and sharing permission, and additional file options. - The path. - The path without the file name part (if any). + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + A constant that determines how the file will be shared by processes. + A constant that specifies additional file options. - + - Returns the directory information for the specified path string without the root information. + Initializes a new instance of the class with the specified path, creation mode, access rights + and sharing permission. - The path. - The path without the file name part and without the root information (if any). + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + A constant that determines how the file will be shared by processes. - + - Returns the extension of the specified path string. + Initializes a new instance of the class with the specified path, creation mode and access rights. - The path string from which to get the extension. - The extension of the specified , or an empty string - if the path contains no extension. If the path is , this method - returns . + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + A constant that determines the access rights to use when creating access and audit rules for the file. + The file will be opened for exclusive access. - + - Returns the file name and extension of the specified path string. + Initializes a new instance of the class with the specified path and creation mode. - The path string from which to obtain the file name and extension. - A String consisting of the characters after the last directory character in path. - If the last character of path is a directory or volume separator character, - this method returns Empty. If path is a null reference, this method returns - . + A relative or absolute path for the file that the current object will encapsulate. + A constant that determines how to open or create the file. + The file will be opened for exclusive access for both reading and writing. - + - Returns the file name without extension of the specified path string. + Initializes a new instance of the class for the specified file handle, with the specified read/write permission. - The path string from which to obtain the file name. - A String consisting of the characters after the last directory character in path - up to the extension. - If the last character of path is a directory or volume separator character, - this method returns an empty string. If path is a null reference, this method returns - . + A file handle for the file that this object will encapsulate. + A constant that gets the and properties + of the object. - + - Returns the absolute path for the specified path string. + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. - The file or directory for which to obtain absolute path information. - A string containing the fully qualified location of path, such as "C:\MyFile.txt". - + - Gets an array containing the characters that are not allowed in file names. + Reads a sequence of bytes from the current stream and advances the position within + the stream by the number of bytes read. - An array containing the characters that are not allowed in file names. - See also + An array of bytes. When this method returns, the buffer contains the specified byte array with the values + between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not + currently available, or zero (0) if the end of the stream has been reached. + + The sum of and is larger than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. + This method will not backup the access-control list (ACL) data for the file or directory. - + - Gets an array containing the characters that are not allowed in path names. + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within + the stream by the number of bytes read. - An array containing the characters that are not allowed in path names. - See also + An array of bytes. When this method returns, the buffer contains the specified byte array with the values + between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + Indicates whether the function will backup the access-control list (ACL) data for the file or directory. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not + currently available, or zero (0) if the end of the stream has been reached. + + The sum of and is larger than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. - + - Gets the path root. + Skips ahead the specified number of bytes from the current stream. - The path. - A string containing the root directory of path, such as "C:\", or - if is , or an empty string if path does not - contain root directory information. + + + This method represents the Win32 API implementation of BackupSeek. + + + Applications use the method to skip portions of a data stream that cause errors. This function does not + seek across stream headers. For example, this function cannot be used to skip the stream name. If an application + attempts to seek past the end of a substream, the function fails, the return value indicates the actual number of bytes + the function seeks, and the file position is placed at the start of the next stream header. + + + The number of bytes to skip. + The number of bytes actually skipped. - + - Returns a random folder name or file name. + When overridden in a derived class, sets the position within the current stream. - A random folder name or file name. - This is equivalent to . + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + + + + + This stream does not support seeking using this method, and calling this method will always throw + . See for an alternative way of seeking forward. + + + + + The stream does not support seeking. - + - Creates a uniquely named, zero-byte temporary file on disk and returns the full path of that file. + Applies access control list (ACL) entries described by a object to the file described by the + current object. - A containing the full path of the temporary file. - This is equivalent to + A object that describes an ACL entry to apply to the current file. - + - Returns the path of the current system's temporary folder. + When overridden in a derived class, sets the length of the current stream. - A containing the path information of a temporary directory. - This is equivalent to + The desired length of the current stream in bytes. + This method is not supported by the class, and calling it will always + generate a . + Always thrown by this class. - + - Gets the connection name of the locally mapped drive. + Writes a sequence of bytes to the current stream and advances the current position + within this stream by the number of bytes written. - The local path with drive name. This method does not support long path prefixes. - String which has the following format \\servername\sharename. + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of and is greater than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support writing. + Methods were called after the stream was closed. + This method will not process the access-control list (ACL) data for the file or directory. - + - Gets the UNC name from the locally mapped path. + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position + within this stream by the number of bytes written. - The local path with drive name. - String in which drive name being replaced with it's UNC connection name. + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + Specifies whether the function will restore the access-control list (ACL) data for the file or directory. + If this is , you need to specify and access when + opening the file or directory handle. If the handle does not have those access rights, the operating system denies + access to the ACL data, and ACL data restoration will not occur. + The sum of and is greater than the buffer length. + + is null. + + or is negative. + An I/O error occurs. + The stream does not support writing. + Methods were called after the stream was closed. - + - Gets the mapped info internal. - This method uses NativeMethods.RemoteNameInfo level to retieve more info :) + Allows access by other processes to all or part of a file that was previously locked. - The local path with drive name. - + The beginning of the range to unlock. + The range to be unlocked. + + or is negative. + The file is closed. - + - Determines whether a path includes a file name extension. + Clears all buffers for this stream and causes any buffered data to be written to the underlying device. - The path to search for an extension. - - true if the specified path has extension; otherwise, false. - + An I/O error occurs. - + - Gets a value indicating whether the specified path string contains absolute or relative path information. + Gets a object that encapsulates the access control list (ACL) entries for the file described by the + current object. - The path to test. - - true if contains an absolute path; otherwise, false. - + A object that encapsulates the access control list (ACL) entries for the file described by the + current object. - + - Check if file or folder name has any invalid characters. + Reads a stream header from the current . - File or folder name. - True or False + The stream header read from the current , or if the end-of-file + was reached before the required number of bytes of a header could be read. + The stream must be positioned at where an actual header starts for the returned object to represent valid + information. - + - Verifies that the specified is valid and does not contain any wildcards. + Prevents other processes from changing the while permitting read access. - The string to test if it contains a valid path. - if is a valid path, otherwise. + The beginning of the range to lock. The value of this parameter must be equal to or greater than zero (0). + The range to be locked. + or is negative. + The file is closed. + The process cannot access the file because another process has locked a portion of the file. - + - Verifies that the specified is valid and optionally may contain wildcards. + Releases the unmanaged resources used by the and optionally releases the managed resources. - The string to test if it contains a valid path. - if set to true wildcards are allowed in the filename part of the path, otherwise the - presence of wildcards will render the path invalid. - - if is a valid path, otherwise. - + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Check if the given path is has the specific long path prefix. + Gets a value indicating whether the current stream supports reading. - File or folder full path. - true if has long path prefix, otherwise false. + + true if the stream supports reading; otherwise, false. - + - Retrieves the full long (or extended) unicode version of the specified . - - - - This method takes care of different path conversions to be usable in Unicode - variants of the Win32 funcitons (which are internally used throughout AlphaFS). - - - Regular paths are changed like the following: - - - C:\Somewhere\Something.txt - \\?\C:\Somewhere\Something.txt - - - \\Somewhere\Something.txt - \\?\UNC\Somewhere\Something.txt - - - - - Already processed paths are preserved untouched so to avoid mistakes of double prefixing. - - - If the is not an absolute path, or is not rooted, the path of the - current directory (and drive) is combined with the specified to form - an absolute path. - - - File or Folder name to sanitize and prefix with proper standard. - The full long (or extended) unicode version of the specified . + Gets a value indicating whether the current stream supports seeking. + + This method always returns . - + - Gets the regular path from long prefixed one. i.e. \\?\C:\Temp\file.txt to C:\Temp\file.txt - \\?\UNC\Server\share\file.txt to \\Server\share\file.txt + Gets a value indicating whether the current stream supports writing. - The path. - Regular form path string. - This method does not handle paths with volume names, eg. \\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\Folder\file.txt + + true if the stream supports writing; otherwise, false. - + - Determines whether the specified path is UNC path. - Supports long path prefix. + When overridden in a derived class, gets the length in bytes of the stream. - The path. - - true if the specified path is UNC; otherwise, false. - + This method always throws an exception. + This exception is always thrown if this property is accessed on a . - + - Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization. + When overridden in a derived class, gets or sets the position within the current stream. - The alt directory separator char. - Equivalent to + This method always throws an exception. + This exception is always thrown if this property is accessed on a . - + - Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization. + Gets a object that represents the operating system file handle for the file that + the current object encapsulates. - The directory separator char. - Equivalent to + A object that represents the operating system file handle for the file that + the current object encapsulates. - + - A platform-specific separator character used to separate path strings in environment variables.. + Provides static methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of objects. + As opposed to the corresponding class, this class supports the use of extended length unicode paths, such as + \\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\autoexec.bat. In addition, support for transacted file operation using the + kernel transaction manager is provided. (See also ). - The path separator. - Equivalent to + Note that no methods in this class perform any validation of the supplied paths. They are passed as is to the corresponding + native kernel functions, meaning that invalid paths may result in exceptions of a type other than the expected for a certain operation. - + + - Provides a platform-specific volume separator character. + Opens a file, appends the specified string to the file, and then closes the file. - The volume separator char. - Equivalent to - - + + If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. + + - Enumerator used to enumerate file system entries (i.e. files and directories). + Opens a file, appends the specified string to the file, and then closes the file. If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. - The enumerator can only be used to enumerate through the items once, - and cannot be reset. + The file to append the specified string to. + The string to append to the file. - + - Initializes a new instance of the class. + Appends the specified string to the file, creating the file if it does not already exist. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - Note that no validation is done whether or not the path actually exists when - the enumerator is constructed. This instead occurs during the first call - to . + The file to append the specified string to. + The string to append to the file. + The character encoding to use. - + - Initializes a new instance of the class. + Opens a file as part of a transaction, appends the specified string to the file, and then closes the file. If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - if set to true enumerate only directories. - Note that no validation is done whether or not the path actually exists when - the enumerator is constructed. This instead occurs during the first call - to . + The transaction. + The file to append the specified string to. + The string to append to the file. - + - Initializes a new instance of the for - enumeration as part of a transaction. + Appends the specified string to the file as part of a transaction, creating the file if it does not already exist. The transaction. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - Note that no validation is done whether or not the path actually exists when - the enumerator is constructed. This instead occurs during the first call - to . - If is , this constructor is equivalent - to , leading to an untransacted operation. + The file to append the specified string to. + The string to append to the file. + The character encoding to use. - + + + Creates a that appends UTF-8 encoded text to an existing file. + - Initializes a new instance of the for - enumeration as part of a transaction. + Creates a that appends UTF-8 encoded text to an existing file. - The transaction. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - if set to true enumerate only directories. - Note that no validation is done whether or not the path actually exists when - the enumerator is constructed. This instead occurs during the first call - to . - If is , this constructor is equivalent - to , leading to an untransacted operation. + The path to the file to append to. + A that appends UTF-8 encoded text to an existing file. - + - Advances the enumerator to the next file system entry matching the specified pattern. + Creates a , that is part of a transaction, that appends UTF-8 encoded text to an existing file. + The transaction. + The path to the file to append to. - if the enumerator was successfully advanced to the next element; - if the enumerator has passed the end of the collection. + A that appends UTF-8 encoded text to an existing file. - The collection was modified after the enumerator was created. - + + + Copies an existing file to a new file. + - Filters the current and parent folders WIN32 notations ("." and ".."). + Copies an existing file to a new file. Overwriting a file of the same name is not allowed. + The file to copy. + The name of the destination file. This cannot be a directory or an existing file. - + + + Copies an existing file to a new file. + + The file to copy. + The name of the destination file. This cannot be a directory or an existing file. + true if the destination file can be overwritten; otherwise, false. + + - This method is not supported. + Copies an existing file to a new file. - always. + The name of an existing file. + The name of the new file. + Flags that specify how the file is to be copied. + true if the file was completely copied, or false if the copy operation was aborted. - + - Performs application-defined tasks associated with freeing, releasing, or - resetting unmanaged resources. + Copies an existing file to a new file. + The name of an existing file. + The name of the new file. + Flags that specify how the file is to be copied. + true if original Timestamps must be preserved, otherwise false + + true if the file was completely copied, or false if the copy operation was aborted. + - + - Gets the representing the file system entry - at the current position of the enumerator. + Copies an existing file to a new file, notifying the application of its progress through a callback function. - the representing the file system entry - at the current position of the enumerator. - The element in the collection at the current position of the enumerator. + The name of an existing file. + The name of the new file. + Flags that specify how the file is to be copied. + A callback function that is called each time another portion of the file has been copied. This parameter can be . + The argument to be passed to the callback function. This parameter can be . + true if original Timestamps must be preserved, otherwise false + + true if the file was completely copied, or false if the copy operation was aborted. + - + - Gets the element in the collection at the current position of the enumerator. + Copies an existing file to a new file as a transacted operation. Overwriting a file of the same name is not allowed. - - The element in the collection at the current position of the enumerator. + The transaction. + The file to copy. + The name of the destination file. This cannot be a directory or an existing file. - + - Gets or sets a value indicating whether to enumerate only folders. + Copies an existing file to a new file as a transacted operation. - true if only folders should be enumerated; otherwise, false. + The transaction. + The file to copy. + The name of the destination file. This cannot be a directory or an existing file. + true if the destination file can be overwritten; otherwise, false. - + - Represents a wrapper class for a handle used by the FindFirstFile/FindNextFile methods of the Win32 API + Copies an existing file to a new file as a transacted operation. + The name of an existing file. + The name of the new file. + Flags that specify how the file is to be copied. + The transaction to use. + true if the file was completely copied, or false if the copy operation was aborted. - + - Initializes a new instance of the class. + Copies an existing file to a new file as a transacted operation, notifying the application of its progress through a callback function. + The name of an existing file. + The name of the new file. + Flags that specify how the file is to be copied. + A callback function that is called each time another portion of the file has been copied. This parameter can be . + The argument to be passed to the callback function. This parameter can be . + The transaction to use. + true if the file was completely copied, or false if the copy operation was aborted. - + + + Creates, overwrites or opens a file or directory in the specified path. + - Initializes a new instance of the class. + Creates or overwrites a file in the specified path. - The handle. - if set to true [owns handle]. + The path and name of the file to create. + A that provides read/write access to the file specified in path. - + - When overridden in a derived class, executes the code required to free the handle. + Creates or overwrites a file in the specified path. + The path and name of the file to create. + The number of bytes buffered for reads and writes to the file. - true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant. + A that provides read/write access to the file specified in path. - + - Information about the target of a symbolic link or mount point. + Creates or overwrites the specified file, specifying a buffer size and a value that describes how to create or overwrite the file. + The name of the file. + The number of bytes buffered for reads and writes to the file. + One of the values that describes how to create or overwrite the file. + + A new file with the specified buffer size. + - + - The substitute name + Creates or overwrites the specified file, specifying a buffer size, a value that describes how to create or overwrite the file and a specified . + The name of the file. + The number of bytes buffered for reads and writes to the file. + One of the values that describes how to create or overwrite the file. + A instance that determines the access control and audit security for the file. + + A new file with the specified buffer size and security options. + - + - The print name + Creates or overwrites the specified file, + specifying advanced options , , , , and a buffer size. + The name of the file. + The option gives you more precise control over how you want to create a file. + The allow you additionaly specify to default redwrite capability - just write, bypassing any cache. + The option controls how you would like to share created file with other requesters. + The additional advanced options to create a file. + A instance that determines the access control and audit security for the file. + Size of the buffer. + A new file with the specified options and buffer size. - + - Represents information about free and used space on a disk. + Creates or overwrites a file in the specified path as part of a transaction. + The transaction. + The path and name of the file to create. + + A that provides read/write access to the file specified in path. + - + - Initializes the structure + Creates or overwrites a file in the specified path as part of a transaction. - The free bytes available - The total number of bytes - The total number of free bytes + The transaction. + The path and name of the file to create. + The number of bytes buffered for reads and writes to the file. + + A that provides read/write access to the file specified in path. + - + - Indicates whether this instance and a specified object are equal. + Creates or overwrites the specified file as part of a transaction, specifying a buffer size and a value that describes how to create or overwrite the file. - Another object to compare to. + The transaction. + The name of the file. + The number of bytes buffered for reads and writes to the file. + One of the values that describes how to create or overwrite the file. - true if and this instance are the same type and represent the same value; otherwise, false. + A new file with the specified buffer size. - + - Returns the hash code for this instance. + Creates or overwrites the specified file as part of a transaction, specifying a buffer size, a value that describes how to create or overwrite the file and a specified . + The transaction. + The name of the file. + The number of bytes buffered for reads and writes to the file. + One of the values that describes how to create or overwrite the file. + A instance that determines the access control and audit security for the file. - A 32-bit signed integer that is the hash code for this instance. + A new file with the specified buffer size and security options. - + + + Creates or opens a file for writing UTF-8 encoded text. + - Implements the operator ==. + Creates or opens a file for writing UTF-8 encoded text. - A. - B. - The result of the operator. + The file to be opened for writing. + A that writes to the specified file using UTF-8 encoding. - + - Implements the operator !=. + Creates or opens a file for writing UTF-8 encoded text as part of a transaction. - A. - B. - The result of the operator. + The transaction. + The file to be opened for writing. + + A that writes to the specified file using UTF-8 encoding. + - + + - Gets or sets the free bytes available. + Deletes the specified file. - The free bytes available. + + An exception is not thrown if the specified file does not exist. + + + + Deletes the specified file. An exception is not thrown if the specified file does not exist. + + The name of the file to be deleted. - + - Gets or sets the total number of bytes. + Deletes the specified file. An exception is not thrown if the specified file does not exist. - The total number of bytes. + The name of the file to be deleted. + if set to true overrides read only attribute of the file. - + - Gets or sets the total number of free bytes. + Deletes the specified file as part of a transaction. An exception is not thrown if the specified file does not exist. - The total number of free bytes. + The transaction. + The name of the file to be deleted. - + - The requested operation was made in the context of a transaction that is no longer active. + Deletes the specified file as part of a transaction. An exception is not thrown if the specified file does not exist. + The transaction. + The name of the file to be deleted. + if set to true overrides read only attribute of the file. - + - The requested operation is not valid on the Transaction object in its current state. + Decrypts a file that was encrypted by the current account using the Encrypt method. + A path that describes a file to decrypt. - + - The function attempted to use a name that is reserved for use by another transaction. + Encrypts a file so that only the account used to encrypt the file can decrypt it. + A path that describes a file to encrypt. - + - The remote server or share does not support transacted file operations. + Retrieves the encryption status of the specified file. + The name of the file. + The of the specified . - + + + Determines whether the specified file exists. + - The exception that is thrown when an attempt to create a directory or file that already exists was made. + Determines whether the specified file exists. + The file to check. Note that this files may contain wildcards, such as '*'. + true if the caller has the required permissions and path contains the name of an existing file; otherwise, false. This method also returns false if path is nullNothingnullptra null reference (Nothing in Visual Basic), an invalid path, or a zero-length string. If the caller does not have sufficient permissions to read the specified file, no exception is thrown and the method returns false regardless of the existence of path. - + - Initializes a new instance of the class. + Determines whether the specified file exists as part of a transaction. + The transaction. + The file to check. Note that this files may contain wildcards, such as '*'. + + true if the caller has the required permissions and path contains the name of an existing file; otherwise, false. This method also returns false if path is nullNothingnullptra null reference (Nothing in Visual Basic), an invalid path, or a zero-length string. If the caller does not have sufficient permissions to read the specified file, no exception is thrown and the method returns false regardless of the existence of path. + - + + + Gets a object that encapsulates access control list (ACL) entries for a particular file. + - Initializes a new instance of the class. + Gets a object that encapsulates the specified type of access control list (ACL) entries for a particular file. - The message. + The path to a file containing a object that describes the file's access control list (ACL) information. + + A object that encapsulates the access control rules for the file described by the parameter. + - + - Initializes a new instance of the class. + Gets a object that encapsulates the specified type of access control list (ACL) entries for a particular file. - The message. - The inner exception. + The path to a file containing a object that describes the file's access control list (ACL) information. + One (or more) of the values that specifies the type of access control list (ACL) information to receive. + A object that encapsulates the access control rules for the file described by the parameter. - + - Initializes a new instance of the class. + Applies access control list (ACL) entries described by a FileSecurity object to the specified file. - The data for serializing or deserializing the object. - The source and destination for the object. + Note that unlike this method does not automatically + determine what parts of the specified instance has been modified. Instead, the + parameter is used to specify what entries from to + apply to . + A file to add or remove access control list (ACL) entries from. + A object that describes an ACL entry to apply to the file described by the parameter. + One or more of the values that specifies the type of access control + list (ACL) information to set. - + - Provides instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. - This class cannot be inherited. + Gets the of the file on the path. + The path to the file. + The of the file on the path. - + - Provides the base class for both FileInfo and DirectoryInfo objects. + Gets the of the file on the path. + The transaction. + The path to the file. + The of the file on the path. - + + + Gets the of the file on the path. + - Indicator of file existence. It refreshes each time Refresh() has been called. + Gets the of the file on the path. + The path to the file. + The of the file on the path. - + - Represents extended file information. + Gets the of the file on the path as part of a transaction. + The transaction. + The path to the file. + + The of the file on the path. + - + + + Sets the attributes for a file or directory. + - Represents the fully qualified path of the directory or file. + Sets the attributes for a file or directory. - - Notes to Inheritors: - Classes derived from FileSystemInfo can use the FullPath field to determine the full path of the object being manipulated. - + The name of the file whose attributes are to be set. + The file attributes to set for the file. Note that all other values override . - + - The path originally specified by the user, whether relative or absolute. + Sets the attributes for a file or directory as part of a transaction. + The transaction. + The name of the file whose attributes are to be set. + The file attributes to set for the file. Note that all other values override . - + + + Returns the creation date and time of the specified file or directory. + - Deletes a file or directory. + Returns the creation date and time of the specified file or directory. + The file or directory for which to obtain creation date and time information. + A structure set to the creation date and time for the specified file or directory. This value is expressed in local time. - + + + Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory. + - Refreshes the state of the object. + Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory. - - FileSystemInfo.Refresh takes a snapshot of the file from the current file system. Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information. This can happen on platforms such as Windows 98. - Calls must be made to Refresh before attempting to get the attribute information, or the information will be outdated. - + The file or directory for which to obtain creation date and time information. + A structure set to the creation date and time for the specified file or directory. This value is expressed in UTC time. - + + + Returns the date and time the specified file or directory was last accessed. + - Returns a String that represents the current Object. + Returns the date and time the specified file or directory was last accessed. - String + The file or directory for which to obtain creation date and time information. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. - + + + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. + - Throws the does not exists exception. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. + The path. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. - + + + Returns the date and time the specified file or directory was last written to. + + + Returns the date and time the specified file or directory was last written to. + + The path. + A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. + + + + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. + - Initializes the specified file name. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. - Name of the file. + The file or directory for which to obtain write date and time information. + A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. - + - Gets a full path string representing the file's parent directory. + Returns the creation date and time of the specified file or directory as part of a transaction. - A string representing the parent directory full path. + The transaction to use. + The file or directory for which to obtain creation date and time information. + + A structure set to the creation date and time for the specified file or directory. This value is expressed in local time. + - + - Gets or sets the of the current . + Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory as part of a transaction. + The file or directory for which to obtain creation date and time information. + The transaction to use. + A structure set to the creation date and time for the specified file or directory. This value is expressed in UTC time. - + - Gets or sets the creation time of the current object. + Returns the date and time the specified file or directory was last accessed as part of a transaction. - The creation date and time of the current System.IO.FileSystemInfo object. + The file or directory for which to obtain creation date and time information. + The transaction to use. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. - + - Gets or sets the creation time, in coordinated universal time (UTC), of the current FileSystemInfo object. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed as part of a transaction. + The path. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. + The transaction to use. - + + + Returns the date and time the specified file or directory was last written to as part of a transaction. + + The path. + The transaction to use. + A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. + + - Gets a value indicating whether the file or directory exists. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to as part of a transaction. + The file or directory for which to obtain write date and time information. + The transaction to use. + A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. - + + + Retrieves file information for the specified file. + - The Extension property returns the FileSystemInfo extension, including the period (.). For example, for a file c:\NewFile.txt, this property returns ".txt". + Retrieves file information for the specified file. + A connected to the open file from which to retrieve the information. + A object containing the requested information. - + - A string containing the name with full path. + Retrieves file information for the specified file. + A connected to the open file from which to retrieve the information. + A object containing the requested information. - + + + Moves a specified file to a new location, providing the option to specify a new file name. + - Gets the system info. + Moves a specified file to a new location, providing the option to specify a new file name. - The system info. + The name of the file to move. + The new path for the file. + This method works across disk volumes, and it does not throw an exception if the source and destination are + the same. Note that if you attempt to replace a file by moving a file of the same name into that directory, you + get an IOException. You cannot use the Move method to overwrite an existing file. - + - Gets or sets the time the current file or directory was last accessed. + Moves a file or directory, including its children. - When first called, calls Refresh and returns the cached information on APIs to get attributes and so on. On subsequent calls, you must call Refresh to get the latest copy of the information. - If the file described in the object does not exist, this property will return 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time. - + The name of the existing file or directory on the local computer. + If specifies , the file cannot exist on + a remote share because delayed operations are performed before the network is available. + + The new name of the file or directory on the local computer. + When moving a file, can be on a different file system or volume. + If is on another drive, you must set the + flag in . + + When moving a directory, and must be on the same drive. + + The move options. - + - Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed + Moves a file or directory, including its children. You can provide a callback function that receives + progress notifications. - When first called, calls Refresh and returns the cached information on APIs to get attributes and so on. On subsequent calls, you must call Refresh to get the latest copy of the information. - If the file described in the object does not exist, this property will return 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time. - + The name of the existing file or directory on the local computer. + If specifies , the file cannot exist on + a remote share because delayed operations are performed before the network is available. + + The new name of the file or directory on the local computer. + When moving a file, can be on a different file system or volume. + If is on another drive, you must set the + flag in . + + When moving a directory, and must be on the same drive. + + The move options. + A callback function that is called each time another + portion of the file has been moved. The callback function can be useful if you provide a user interface that displays + the progress of the operation. This parameter can be . + An argument to be passed to the callback function. This parameter can be . + true if the file was completely moved, false if the operation was aborted. - + - Gets or sets the time when the current file or directory was last written to. + Moves a specified file to a new location as part of a transaction, providing the option to specify a new file name. + The transaction. + The name of the file to move. + The new path for the file. + This method works across disk volumes, and it does not throw an exception if the source and destination are + the same. Note that if you attempt to replace a file by moving a file of the same name into that directory, you + get an IOException. You cannot use the Move method to overwrite an existing file. - + - Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to. + Moves a file or directory as part of a transaction, including its children. + The transaction. + The name of the existing file or directory on the local computer. + If specifies , the file cannot exist on + a remote share because delayed operations are performed before the network is available. + The new name of the file or directory on the local computer. + When moving a file, can be on a different file system or volume. + If is on another drive, you must set the + flag in . + + When moving a directory, and must be on the same drive. + The move options. - + - For files, gets the name of the file. For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. Otherwise, the Name property gets the name of the directory. + Moves a file or directory as part of a transaction, including its children. You can provide a callback function that receives + progress notifications. - - For a directory, Name returns only the name of the parent directory, such as Dir, not c:\Dir. For a subdirectory, Name returns only the name of the subdirectory, such as Sub1, not c:\Dir\Sub1. - For a file, Name returns only the file name and file name extension, such as MyFile.txt, not c:\Dir\Myfile.txt. - + The transaction. + The name of the existing file or directory on the local computer. + If specifies , the file cannot exist on + a remote share because delayed operations are performed before the network is available. + The new name of the file or directory on the local computer. + When moving a file, can be on a different file system or volume. + If is on another drive, you must set the + flag in . + + When moving a directory, and must be on the same drive. + The move options. + A callback function that is called each time another + portion of the file has been moved. The callback function can be useful if you provide a user interface that displays + the progress of the operation. This parameter can be . + An argument to be passed to the callback function. This parameter can be . + + true if the file was completely moved, false if the operation was aborted. + - + + + Opens a on the specified path. + - Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path. + Opens a on the specified path with read/write access. - The path to the file. - is a reference. - - You can specify either the fully qualified or the relative file name, but the security check gets the fully qualified name. - + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A opened in the specified mode and path, with read/write access and not shared. - + - Refreshes the state of the object. + Opens a on the specified path, with the specified mode and access. - - FileSystemInfo.Refresh takes a snapshot of the file from the current file system. Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information. This can happen on platforms such as Windows 98. - Calls must be made to Refresh before attempting to get the attribute information, or the information will be outdated. - + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies the operations that can be performed on the file. + An unshared that provides access to the specified file, with the specified mode and access. - + - Deletes a file. + Opens a on the specified path, having the specified mode with read, write, or + read/write access and the specified sharing option. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value specifying the type of access other threads have to the file. + A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. - + - Returns the path as a string. + Opens a on the specified path, having the specified mode with read, write, or + read/write access, the specified sharing option and additional options specified. - A string representing the path. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies whether a file is created if one does not exist, + and determines whether the contents of existing files are retained or overwritten along with additional options. + A value specifying the type of access other threads have to the file. + Advanced options for this file. + + A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. + - + - Creates a that appends text to the file represented by this instance of the . + Opens a on the specified path, having the specified mode with read, write, or + read/write access, the specified sharing option and additional options specified. - A that appends UTF-8 encoded text to an existing file. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies whether a file is created if one does not exist, + and determines whether the contents of existing files are retained or overwritten along with additional options. + A value specifying the type of access other threads have to the file. + Advanced options for this file. + + A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. + - + - Copies an existing file to a new file, disallowing the overwriting of an existing file. + Opens the specified file for reading purposes bypassing security attributes. + This method is simpler to use then BackupFileStream to read only file's data stream. - The name of the new file to copy to. - A new file with a fully qualified path. + The file path to open. + A on the specified path, having the read-only mode and sharing options. - + - Copies an existing file to a new file, allowing the overwriting of an existing file. + Opens a FileStream on the specified path with read/write access as part of a transaction. - The name of the new file to copy to. - true to allow an existing file to be overwritten; otherwise, false. - A new file, or an overwrite of an existing file if overwrite is true. If the file exists and overwrite is false, an IOException is thrown. + The transaction. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + + A opened in the specified mode and path, with read/write access and not shared. + - + - Creates a file. + Opens a on the specified path as part of a transaction, with the specified mode and access. - A new file. + The transaction. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies the operations that can be performed on the file. + + An unshared that provides access to the specified file, with the specified mode and access. + - + - Creates a that writes a new text file. + Opens a on the specified path as part of a transaction, having the specified mode with read, write, or + read/write access and the specified sharing option. - A new + The transaction. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value specifying the type of access other threads have to the file. + + A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. + - + - Decrypts a file that was encrypted by the current account using the method. + Opens a on the specified path, having the specified mode with read, write, or + read/write access, the specified sharing option and additional options specified. - The Decrypt method allows you to decrypt a file that was encrypted using the Encrypt method. - The Decrypt method can decrypt only files that were encrypted using the current user account. - Both the Encrypt method and the Decrypt method use the cryptographic service provider (CSP) installed on the computer and the file encryption keys of the process calling the method. - The current file system must be formatted as NTFS and the current operating system must be Microsoft Windows NT or later. - + The transaction to use. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies whether a file is created if one does not exist, + and determines whether the contents of existing files are retained or overwritten along with additional options. + A value specifying the type of access other threads have to the file. + Advanced options for this file. + + A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. + - + - Encrypts a file so that only the account used to encrypt the file can decrypt it. + Opens a on the specified path, having the specified mode with read, write, or + read/write access, the specified sharing option and additional options specified. - - The Encrypt method allows you to encrypt a file so that only the account used to call this method can decrypt it. Use the Decrypt method to decrypt a file encrypted by the Encrypt method. - Both the Encrypt method and the Decrypt method use the cryptographic service provider (CSP) installed on the computer and the file encryption keys of the process calling the method. - The current file system must be formatted as NTFS and the current operating system must be Microsoft Windows NT or later. - + The transaction to use. + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies whether a file is created if one does not exist, + and determines whether the contents of existing files are retained or overwritten along with additional options. + A value specifying the type of access other threads have to the file. + Advanced options for this file. + + A on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. + - + + + Opens an existing file for reading. + - Gets a object that encapsulates the access control list (ACL) entries for the file described by the current object. + Opens an existing file for reading. - A FileSecurity object that encapsulates the access control rules for the current file. + The file to be opened for reading. + A read-only on the specified path. - + - Gets a object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object. + Opens an existing file for reading as part of a transaction. - The include sections. - object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object. + The transaction. + The file to be opened for reading. + + A read-only on the specified path. + - + + + Opens an existing UTF-8 encoded text file for reading. + - Moves a specified file to a new location, providing the option to specify a new file name. + Opens an existing UTF-8 encoded text file for reading. - The path to move the file to, which can specify a different file name. - This method works across disk volumes. For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt. + The file to be opened for reading. + A StreamReader on the specified path. - + - Opens a file in the specified mode. + Opens an existing UTF-8 encoded text file for reading as part of a transaction. - A FileMode constant specifying the mode (for example, Open or Append) in which to open the file. - A file opened in the specified mode, with read/write access and unshared. + The transaction. + The file to be opened for reading. + A StreamReader on the specified path. - + + + Opens an existing file for writing. + - Opens a file in the specified mode with read, write, or read/write access. + Opens an existing file for writing. - A FileMode constant specifying the mode (for example, Open or Append) in which to open the file. - A FileAccess constant specifying whether to open the file with Read, Write, or ReadWrite file access. - A file opened in the specified mode, with read/write access and unshared. + The file to be opened for writing. + An unshared object on the specified path with Write access. - + - Opens a file in the specified mode with read, write, or read/write access. + Opens an existing file for writing as part of a transaction. - A FileMode constant specifying the mode (for example, Open or Append) in which to open the file. - A FileAccess constant specifying whether to open the file with Read, Write, or ReadWrite file access. - A FileShare constant specifying the type of access other FileStream objects have to this file. + The transaction. + The file to be opened for writing. - A file opened in the specified mode, with read/write access and unshared. + An unshared object on the specified path with Write access. - - - Creates a read-only FileStream. - - A new read-only FileStream object. - - + - Creates a StreamReader with UTF8 encoding that reads from an existing text file. + Transfers the time stamps for files and directories. - A new StreamReader with UTF8 encoding. + The source path. + The destination path. + + This method uses BackupSemantics flag to get Timestamp changed for folders. + This method does not change last access time for the source file. + - + + + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + - Creates a write-only FileStream. + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. - A new write-only unshared FileStream object. + The file to open for reading. + A byte array containing the contents of the file. - + - Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file. + Opens a binary file, reads the contents of the file into a byte array, and then closes the file as part of a transaction. - The name of a file to replace with the current file. - The name of a file with which to create a backup of the file described by the destFileName parameter. - A FileInfo object that encapsulates information about the file described by the destFileName parameter. - The Replace method replaces the contents of a specified file with the contents of the file described by the current FileInfo object. It also creates a backup of the file that was replaced. Finally, it returns a new FileInfo object that describes the overwritten file. + The transaction. + The file to open for reading. + + A byte array containing the contents of the file. + - + + + Opens a text file, reads all lines of the file, and then closes the file. + - Replaces the specified destination file name. + Opens a text file, reads all lines of the file, and then closes the file. - The name of a file to replace with the current file. - The name of a file with which to create a backup of the file described by the destFileName parameter. - true to ignore merge errors (such as attributes and ACLs) from the replaced file to the replacement file; otherwise false. - A FileInfo object that encapsulates information about the file described by the destFileName parameter. - The Replace method replaces the contents of a specified file with the contents of the file described by the current FileInfo object. It also creates a backup of the file that was replaced. Finally, it returns a new FileInfo object that describes the overwritten file. - The last parameter is not supported yet. - + The file to open for reading. + A string array containing all lines of the file. - + - Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object. + Opens a file, reads all lines of the file with the specified encoding, and then closes the file. - A FileSecurity object that describes an access control list (ACL) entry to apply to the current file. - The SetAccessControl method applies access control list (ACL) entries to the current file that represents the noninherited ACL list. - Use the SetAccessControl method whenever you need to add or remove ACL entries from a file. - + The file to open for reading. + The encoding applied to the contents of the file. + A string array containing all lines of the file. - + - Gets an instance of the parent directory. + Opens a text file as part of a transaction, reads all lines of the file, and then closes the file. - A object representing the parent directory of this file. - To get the parent directory as a string, use the DirectoryName property. - + The transaction. + The file to open for reading. + + A string array containing all lines of the file. + - + - Gets a value indicating whether the file or directory exists. + Opens a file as part of a transaction, reads all lines of the file with the specified encoding, and then closes the file. - true if the file exists; otherwise, false. + The transaction. + The file to open for reading. + The encoding applied to the contents of the file. + + A string array containing all lines of the file. + - + + + Opens a text file, reads all lines of the file, and then closes the file. + - Gets or sets a value that determines if the current file is read only. + Opens a text file, reads all lines of the file, and then closes the file. - - true if the current file is read only; otherwise, false. - + The file to open for reading. + A string containing all lines of the file. - + - Gets the name of the file with extension. + Opens a file, reads all lines of the file with the specified encoding, and then closes the file. - File name with extension. - - For a file, Name returns only the file name and file name extension, such as MyFile.txt, not c:\Dir\Myfile.txt. - + The file to open for reading. + The encoding applied to the contents of the file. + A string containing all lines of the file. - + - Gets the file size. + Opens a text file as part of a transaction, reads all lines of the file, and then closes the file. - The file size. + The transaction. + The file to open for reading. + + A string containing all lines of the file. + - + - Exposes static methods for creating, moving, and enumerating through directories and subdirectories. + Opens a text file as part of a transaction, reads all lines of the file with the specified encoding, and then closes the file. - - As opposed to this class supports the use of extenden length unicode paths, such as - \\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\Program Files\Internet Explorer. In addition, support for transacted file operation - using the kernel transaction manager is provided. (See also ). - Note that no methods in this class perform any validation of the supplied paths. They are passed as is to the corresponding - native kernel functions, meaning that invalid paths may result in exceptions of a type other than the expected for a certain operation. - - + The transaction. + The file to open for reading. + The encoding applied to the contents of the file. + + A string containing all lines of the file. + - + - Creates a new directory. + Replaces one file with another file, with the option of creating a backup copy of the original file. The replacement file assumes the name of the replaced file and its identity. - Creates a new directory. If the underlying file system supports security on files and directories, the function applies a default security descriptor to the new directory. - - The path of the directory to be created. - The specified directory already exists. - One or more intermediate directories do not exist; this function will only create the final directory in the path. - - - - Creates a new directory. If the underlying file system supports security on files and directories, the function applies a security descriptor to the new directory. + Replaces one file with another file, with the option of creating a backup copy of the original file. The replacement file assumes the name of the replaced file and its identity. - The path of the directory to be created. - The seurity descriptor to apply to the directory - The specified directory already exists. - One or more intermediate directories do not exist; this function will only create the final directory in the path. + The name of a file that replaces the file specified by . + The name of the file being replaced. + The name of the backup file. - + - Creates a new directory with the attributes of a specified template directory. - If the underlying file system supports security on files and directories, the function - applies a default security descriptor to the new directory. The new directory retains - the other attributes of the specified template directory. + Replaces one file with another file, with the option of creating a backup copy of the original file. The replacement file assumes the name of the replaced file and its identity. - The path of the directory to use as a template when creating the new directory. - The path of the directory to be created. - The specified directory already exists. - One or more intermediate directories do not exist; this function will only create the final directory in the path. + The name of a file that replaces the file specified by . + The name of the file being replaced. + The name of the backup file. + set to true to ignore merge errors (such as attributes and access control lists (ACLs)) from the replaced file to the replacement file; otherwise, false. - + - Creates a new directory with the attributes of a specified template directory. - If the underlying file system supports security on files and directories, the function - applies the specified security descriptor to the new directory. The new directory retains - the other attributes of the specified template directory. + Internal method for setting file times on a file. - The path of the directory to use as a template when creating the new directory. - The path of the directory to be created. - The seurity descriptor to apply to the directory. - The specified directory already exists. - One or more intermediate directories do not exist; this function will only create the final directory in the path. + The path. + The creation time. + The last access time. + The last write time. + This method uses FileOptions.BackupSemantics flag to write Timestamps to folders as well. - + + + Sets the date and time the file was created. + - Creates a new directory as a transacted operation. - If the underlying file system supports security on files and directories, the function applies a - default security descriptor to the new directory. + Sets the date and time the file was created. - The transaction to use. - The path of the directory to be created. + The file for which to set the creation date and time information. + A containing the value to set for the creation date and time of path. This value is expressed in local time. - + + + Sets the date and time, in coordinated universal time (UTC), that the file was created. + - Creates a new directory as a transacted operation. - If the underlying file system supports security on files and directories, the function - applies a specified security descriptor to the new directory. + Sets the date and time, in coordinated universal time (UTC), that the file was created. - The transaction to use. - The path of the directory to be created. - - - If is , the directory gets a default security descriptor. - The access control lists (ACL) in the default security descriptor for a directory are inherited from its parent directory. - - - The target file system must support security on files and directories for this parameter to have an effect. - This is indicated when returns an object with - set to true. - - + The file for which to set the creation date and time information. + A containing the value to set for the creation date and time of path. This value is expressed in UTC time. - + + + Sets the date and time, in local time, that the file was last accessed. + - Creates a new directory as a transacted operation, with the attributes of a specified template directory. - If the underlying file system supports security on files and directories, the function applies a default security descriptor to the new directory. - The new directory retains the other attributes of the specified template directory. + Sets the date and time, in local time, that the file was last accessed. - - The path of the directory to use as a template when creating the new directory. This parameter can be . - The directory must reside on the local computer; otherwise, the an exception of type is thrown. - - The transaction to use. - The path of the directory to be created. + The file for which to set the last access date and time information. + A containing the value to set for the last access date and time of path. This value is expressed in local time. - - - Creates a new directory as a transacted operation, with the attributes of a specified template directory. If the underlying file system supports security on files and directories, the function applies a specified security descriptor to the new directory. The new directory retains the other attributes of the specified template directory. - - - The path of the directory to use as a template when creating the new directory. This parameter can be . - The directory must reside on the local computer; otherwise, the an exception of type is thrown. - - The transaction to use. - The path of the directory to be created. - - - If is , the directory gets a default security descriptor. - The access control lists (ACL) in the default security descriptor for a directory are inherited from its parent directory. - - - The target file system must support security on files and directories for this parameter to have an effect. - This is indicated when returns an object with - set to true. - - + + + Sets the date and time, in coordinated universal time (UTC), that the file was last accessed. + + + Sets the date and time, in coordinated universal time (UTC), that the file was last accessed. + + The file for which to set the last access date and time information. + A containing the value to set for the last access date and time of path. This value is expressed in UTC time. - + + Sets the date and time, in local time, that the file was last modified. + - Deletes an existing directory. + Sets the date and time, in local time, that the file was last modified. + The file for which to set the last modification date and time information. + A containing the value to set for the last modification date and time of path. This value is expressed in local time. + + + + Sets the date and time, in coordinated universal time (UTC), that the file was last modified. - Deletes an existing empty directory. + Sets the date and time, in coordinated universal time (UTC), that the file was last modified. - The path of the directory to be removed. This path must specify an empty directory, and the calling process must have delete access to the directory. - is + The file for which to set the last modification date and time information. + A containing the value to set for the last modification date and time of path. This value is expressed in UTC time. - + + + Sets all the time stamps at once. + - Deletes the specified directory and, if indicated, any subdirectories in the directory. + Sets the time stamps at once. - The name of the directory to remove. - true to remove directories, subdirectories, and files in path; otherwise, false. + The path. + The creation time. + The last access time. + The last write time. - + + + Sets all the time stamps at once in UTC. + - Deletes the specified directory and, if indicated, any subdirectories in the directory. + Sets all the time stamps at once in UTC. - The name of the directory to remove. - true to remove directories, subdirectories, and files in path; otherwise, false. - if set to true ignores read only attribute of files and directories. + + This method is redundant, because NTFS driver converts any dates in UTC format anyways. + + The path. + The creation time. + The last access time. + The last write time. - + - Deletes an existing empty directory as a transacted operation. + Internal method for setting file times on a file as part of a transaction. - - The path of the directory to be removed. - The path must specify an empty directory, and the calling process must have delete access to the directory. - The path of the directory to be removed. This path must specify an empty directory, and the calling process must have delete access to the directory. - The directory must reside on the local computer; otherwise, the function throws . - - The transaction to use - or is - The directory does not reside on the local computer. - The transaction object is not valid for this operation. + The transaction. + The path. + The creation time. + The last access time. + The last write time. - - + - Determines whether the given path refers to an existing directory on disk. + Sets the date and time the file was created as part of a transaction. - + The transaction. + The file for which to set the creation date and time information. + A containing the value to set for the creation date and time of path. This value is expressed in local time. + + - Determines whether the given path refers to an existing directory on disk. + Sets the date and time as part of a transaction, in coordinated universal time (UTC), that the file was created. - The path to test. - true if path refers to an existing directory; otherwise, false. - Possible performance improvement may be achieved by utilizing FINDEX_SEARCH_OPS.FindExSearchLimitToDirectories. + The transaction. + The file for which to set the creation date and time information. + A containing the value to set for the creation date and time of path. This value is expressed in UTC time. - + - Determines whether the given path refers to an existing directory on disk as part of a transaction. + Sets the date and time as part of a transaction, in local time, that the file was last accessed. The transaction. - The path to test. - - true if path refers to an existing directory; otherwise, false. - + The file for which to set the last access date and time information. + The last access time. - - + - Gets a object that encapsulates the access control list (ACL) entries for a specified directory. + Sets the date and time as part of a transaction, in coordinated universal time (UTC), that the file was last accessed. - + The transaction. + The file for which to set the last access date and time information. + The last access time. + + - Gets a object that encapsulates the access control list (ACL) entries for the specified directory. + Sets the date and time as part of a transaction, in local time, that the file was last modified. - The path to a directory containing a object that describes the file's access control list (ACL) information. - A object that encapsulates the access control rules for the file described by the parameter. + The transaction. + The file for which to set the last modification date and time information. + The last write time. - + - Gets a object that encapsulates the specified type of access control list (ACL) entries for a particular directory. + Sets the date and time as part of a transaction, in coordinated universal time (UTC), that the file was last modified. - The path to a directory containing a object that describes the directory's access control list (ACL) information. - One (or more) of the values that specifies the type of access control list (ACL) information to receive. - A object that encapsulates the access control rules for the directory described by the parameter. + The transaction. + The file for which to set the last modification date and time information. + The last write time. - - + - Gets the creation date and time, in local time, of a directory. + Sets the time stamps at once. - + The transaction. + The path. + The creation time. + The last access time. + The last write time. + + - Gets the creation date and time, in local time, of a directory. + Sets the time stamps at once in UTC. But it's redundant, because NTFS driver converts any dates in UTC format anyways. - The path of the directory. - A structure set to the creation date and time for the specified directory. This value is expressed in local time. + The transaction. + The path. + The creation time. + The last access time. + The last write time. - + + Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. + - Gets the creation date and time, in Coordinated Universal Time (UTC) format, of a directory. + Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. - + The file to write to. + The bytes to write to the file. + + - Gets the creation date and time, in Coordinated Universal Time (UTC) format, of a directory. + Creates a new file as part of a transaction, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. - The path of the directory. - A structure set to the creation date and time for the specified directory. This value is expressed in UTC time. + The transaction. + The file to write to. + The bytes to write to the file. - + - Returns the date and time the specified file or directory was last accessed. + Creates a new file, write the specified string array to the file, and then closes the file. If the target file already exists, it is overwritten. - Returns the date and time the specified file or directory was last accessed. + Creates a new file, write the specified string array to the file, and then closes the file. If the target file already exists, it is overwritten. - The file or directory for which to obtain creation date and time information. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. + The file to write to. + The string array to write to the file. - + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. + Creates a new file, writes the specified string array to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. - The path. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. + The file to write to. + he string array to write to the file. + An object that represents the character encoding applied to the string array. - - - Returns the date and time the specified file or directory was last written to. - - - Returns the date and time the specified file or directory was last written to. - - The path. - A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. + + + Creates a new file as part of a transaction, write the specified string array to the file, and then closes the file. If the target file already exists, it is overwritten. + + The transaction. + The file to write to. + The string array to write to the file. - + + + Creates a new file as part of a transaction, writes the specified string array to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. + + The transaction. + The file to write to. + he string array to write to the file. + An object that represents the character encoding applied to the string array. + + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. + Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten. - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. + Creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten. - The file or directory for which to obtain write date and time information. - A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. + The file to write to. + The string to write to the file. - + - Returns the creation date and time of the specified file or directory as part of a transaction. + Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. - The transaction to use. - The file or directory for which to obtain creation date and time information. - - A structure set to the creation date and time for the specified file or directory. This value is expressed in local time. - + The file to write to. + The string to write to the file. + An object that represents the encoding to apply to the string. - + - Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory as part of a transaction. + Creates a new file as part of a transaction, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten. - The file or directory for which to obtain creation date and time information. - The transaction to use. - A structure set to the creation date and time for the specified file or directory. This value is expressed in UTC time. + The transaction. + The file to write to. + The string to write to the file. + + + + Creates a new file as part of a transaction, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. + + The transaction. + The file to write to. + The string to write to the file. + An object that represents the encoding to apply to the string. - + + + Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system, and only for files, not directories. + - Returns the date and time the specified file or directory was last accessed as part of a transaction. + Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system, and only for files, not directories. - The file or directory for which to obtain creation date and time information. - The transaction to use. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. + The source file. + The destination file. + The destination file already exists. + An attempt to create a hard-link on a non-supported filesystem + could not be found - + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed as part of a transaction. + Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system, and only for files, not directories. - The path. - A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. + The source file. + The destination file. The transaction to use. + The destination file already exists. + An attempt to create a hard-link on a non-supported filesystem + could not be found - - - Returns the date and time the specified file or directory was last written to as part of a transaction. - - The path. - The transaction to use. - A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. - - + + + Creates a symbolic link. + - Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to as part of a transaction. + Creates a symbolic link. - The file or directory for which to obtain write date and time information. - The transaction to use. - A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. + The name of the target for the symbolic link to be created. + The symbolic link to be created. + Indicates whether the link target, , is a file or directory. - + - Gets the current working directory of the application. + Creates a symbolic link as part of a transaction. - A string containing the path of the current working directory. - The caller does not have the required permission. + The name of the target for the symbolic link to be created. + The symbolic link to be created. + Indicates whether the link target, , is a file or directory. + The transaction to use. - + - Sets the application's current working directory to the specified directory. + Gets information about the target of a mount point or symbolic link on an NTFS file system. - The path to which the current working directory is set. - An IO error occurred. - is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars. - is - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. - The caller does not have the required permission to access unmanaged code. - The specified path was not found. - The specified directory was not found. + The path to the reparse point. + An instance of or containing + information about the symbolic link or mount point pointed to by . - + - Applies access control list (ACL) entries described by a DirectorySecurity object to the specified directory. + Gets information about the target of a mount point or symbolic link on an NTFS file system as part of a transaction. - Note that unlike this method does not automatically - determine what parts of the specified instance has been modified. Instead, the - parameter is used to specify what entries from to - apply to . - A directory to add or remove access control list (ACL) entries from. - A object that describes an ACL entry to apply to the directory described by the parameter. - One or more of the values that specifies the type of access control - list (ACL) information to set. + The transaction. + The path to the reparse point. + + An instance of or containing + information about the symbolic link or mount point pointed to by . + - + - Moves a file or a directory and its contents to a new location. + Enumerates all hard links to the specified file. - Moves a file or a directory and its contents to a new location. + Creates an enumeration of all the hard links to the specified . - The path of the file or directory to move. - The path to the new location for . If is a file, then must also be a file name. - For more options, see the Move methods of . + Required Windows Vista or later. + The name of the file. + An enumeration of all the hard links to the specified - + - Moves a file or a directory and its contents to a new location as part of a transaction. + Creates an enumeration of all the hard links to the specified as part + of the specified . - The transaction. - The path of the file or directory to move. - The path to the new location for . If is a file, then must also be a file name. - For more options, see the Move methods of . + The transaction to use. + The name of the file. + + An enumeration of all the hard links to the specified + + Required Windows Vista or later. - + - Gets an array of directories contained within a directory or drive. + Retrieves the actual number of bytes of disk storage used to store a specified file. - Gets an array of directories matching the specified search pattern from the current directory, using a value to determine whether to search subdirectories. + Retrieves the actual number of bytes of disk storage used to store a specified file. - The directory to search. - The search string to match against the names of directories in . The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . - One of the values that specifies whether the - search operation should include all subdirectories or only the current directory. + + If the file is located on a volume that + supports compression and the file is compressed, the value obtained is the compressed size of the specified file. + If the file is located on a volume that supports sparse files and the file is a sparse file, the value obtained is the sparse + size of the specified file. + + The name of the file. + Do not specify the name of a file on a nonseeking device, such as a pipe or a communications device, as its file size has no meaning. - A String array of directories matching the search pattern. Directory names include the full path. + the actual number of bytes of disk storage used to store the specified file. - This method may consume a lot of memory if a large tree of files, directories and subdirectories - are searched. Consider using instead if possible. - + - Gets an array of directories matching the specified search pattern from the current directory. + Retrieves the actual number of bytes of disk storage used to store a specified file as part of a transaction. If the file is located on a volume that + supports compression and the file is compressed, the value obtained is the compressed size of the specified file. + If the file is located on a volume that supports sparse files and the file is a sparse file, the value obtained is the sparse + size of the specified file. - The directory to search. - The search string to match against the names of directories in . The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . + The transaction. + The name of the file. + Do not specify the name of a file on a nonseeking device, such as a pipe or a communications device, as its file size has no meaning. - A String array of directories matching the search pattern. Directory names include the full path. + the actual number of bytes of disk storage used to store the specified file. - + - Gets the names of subdirectories in the specified directory. + Represents a privilege for an access token. The privileges available on the local machine are available as + static instances from this class. To create a representing a privilege on another system, + use the constructor specifying a system name together with one of these static instances. - The directory to search. - - An array of type String containing the names of subdirectories in . - + - + - Gets an array of directories matching the specified search pattern from the current directory, - using a value to determine whether to search subdirectories. The search is performed as part of a transaction. + Required to assign the primary token of a process. User Right: Replace a process-level token. - The transaction. - The directory to search. - The search string to match against the names of directories in . The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . - One of the values that specifies whether the - search operation should include all subdirectories or only the current directory. - - A String array of directories matching the search pattern. Directory names include the full path. - - This method may consume a lot of memory if a large tree of files, directories and subdirectories - are searched. Consider using instead if possible. - + - Gets an array of directories matching the specified search pattern from the current directory. The search is performed as part of a transaction. + Required to generate audit-log entries. Give this privilege to secure servers. User Right: Generate security audits. - The transaction. - The directory to search. - The search string to match against the names of directories in . The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . - - A String array of directories matching the search pattern. Directory names include the full path. - - + - Gets the names of subdirectories in the specified directory. The search is performed as part of a transaction. + Required to perform backup operations. This privilege causes the system to grant all read access control to any file, regardless of the access control list (ACL) specified for the file. Any access request other than read is still evaluated with the ACL. User Right: Back up files and directories. - The transaction. - The directory to search. - - An array of type String containing the names of subdirectories in . - - - - Retrieves the names of files contained within a directory. - + - Returns the names of files in the specified directory that match the specified search pattern, using a - value to determine whether to search subdirectories. + Required to receive notifications of changes to files or directories. This privilege also causes the system to skip all traversal access checks. It is enabled by default for all users. User Right: Bypass traverse checking. - The directory to search. - The search string to match against the names of files in path. The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . - One of the values that specifies whether the - search operation should include all subdirectories or only the current directory. - A String array containing the names of files in the specified - directory that match the specified search pattern. File names include the full path. - This method may consume a lot of memory if a large tree of files, directories and subdirectories - are searched. Consider using instead if possible. - + - Returns the names of files in the specified directory that match the specified search pattern. + Required to create named file mapping objects in the global namespace during Terminal Services sessions. This privilege is enabled by default for administrators, services, and the local system account. User Right: Create global objects. + + Windows XP/2000: This privilege is not supported. Note that this value is supported starting with Windows Server 2003, Windows XP SP2, and Windows 2000 SP4. + + + + Required to create a paging file. User Right: Create a pagefile. + + + + + Required to create a permanent object. User Right: Create permanent shared objects. + + + + + Required to create a symbolic link. User Right: Create symbolic links. + + + + + Required to create a primary token. User Right: Create a token object. + + + + + Required to debug and adjust the memory of a process owned by another account. User Right: Debug programs. - The directory to search. - The search string to match against the names of files in path. The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . - A String array containing the names of files in the specified directory that match the specified search pattern. - + - Returns the names of files in the specified directory. + Required to mark user and computer accounts as trusted for delegation. User Right: Enable computer and user accounts to be trusted for delegation. - The directory from which to retrieve the files. - A String array of file names in the specified directory. - + - Returns the names of files in the specified directory that match the specified search pattern, using a - value to determine whether to search subdirectories. The search will be performed as part of a transaction. + Required to impersonate. User Right: Impersonate a client after authentication. - The transaction. - The directory to search. - The search string to match against the names of files in path. The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . - One of the values that specifies whether the - search operation should include all subdirectories or only the current directory. - - A String array containing the names of files in the specified - directory that match the specified search pattern. File names include the full path. - - This method may consume a lot of memory if a large tree of files, directories and subdirectories - are searched. Consider using instead if possible. + Windows XP/2000: This privilege is not supported. Note that this value is supported starting with Windows Server 2003, Windows XP SP2, and Windows 2000 SP4. - + - Returns the names of files in the specified directory that match the specified search pattern. The search will be performed as part of a transaction. + Required to increase the base priority of a process. User Right: Increase scheduling priority. - The transaction. - The directory to search. - The search string to match against the names of files in path. The parameter cannot - end in two periods ("..") or contain two periods ("..") followed by or - , nor can it contain any of the characters in . - - A String array containing the names of files in the specified directory that match the specified search pattern. - - + - Returns the names of files in the specified directory. The search will be performed as part of a transaction. + Required to increase the quota assigned to a process. User Right: Adjust memory quotas for a process. - The transaction. - The directory from which to retrieve the files. - - A String array of file names in the specified directory. - - + - Returns the volume information, root information, or both for the specified path. + Required to allocate more memory for applications that run in the context of users. User Right: Increase a process working set. - The path of a file or directory. - A string containing the volume information, root information, or both for the specified path. - + - Returns an array of file system entries matching the specified search criteria. + Required to load or unload a device driver. User Right: Load and unload device drivers. - The directory for which file and subdirectory names are returned. - The search string to match against the names of files in path. - The parameter cannot end in two periods ("..") or - contain two periods ("..") followed by or - , nor can it contain any of the characters in - . - - A String array containing the names of file system entries matching the specified pattern - in the specified directory. - - + - Returns an array of file system entries matching the specified search criteria. - The file system entries are retrieved as part of a transaction. + Required to lock physical pages in memory. User Right: Lock pages in memory. - The transaction. - The directory for which file and subdirectory names are returned. - The search string to match against the names of files in path. - The parameter cannot end in two periods ("..") or - contain two periods ("..") followed by or - , nor can it contain any of the characters in - . - - A String array containing the names of file system entries matching the specified pattern - in the specified directory. - - + - Returns the names of all files and subdirectories in the specified directory. + Required to create a computer account. User Right: Add workstations to domain. - The directory for which file and subdirectory names are returned. - - A String array containing the names of file system entries in the specified directory. - - + - Returns the names of all files and subdirectories in the specified directory. - The file system entries are retrieved as part of a transaction. + Required to enable volume management privileges. User Right: Manage the files on a volume. - The transaction. - The directory for which file and subdirectory names are returned. - - A String array containing the names of file system entries in the specified directory. - - - - Enumerates file system entries contained in a specified path as instances. - + - Enumerates all file system entries as instances - in the specified . + Required to gather profiling information for a single process. User Right: Profile single process. - This is a convenience method for using the for enumeration. - The directory or path containing the file system entries to enumerate. - An enumerable containing the file system entries for the specified - + - Enumerates the file system entries in the specified matching - the specified as instances. + Required to modify the mandatory integrity level of an object. User Right: Modify an object label. - This is a convenience method for using the for enumeration. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - The search string to match against the names of files in path. - The parameter cannot end in two periods ("..") or - contain two periods ("..") followed by or - , nor can it contain any of the characters in - . - An enumerable containing the file system entries for the specified - + - Enumerates all file system entries as instances - in the specified , optionally enumerating - directories only. + Required to shut down a system using a network request. User Right: Force shutdown from a remote system. - This is a convenience method for using the for enumeration. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - if set to true enumerate only directories. - An enumerable containing the file system entries for the specified - + - Enumerates the file system entries in the specified matching - the specified as instances, - optionally enumerating directories only. + Required to perform restore operations. This privilege causes the system to grant all write access control to any file, regardless of the ACL specified for the file. Any access request other than write is still evaluated with the ACL. Additionally, this privilege enables you to set any valid user or group SID as the owner of a file. User Right: Restore files and directories. - This is a convenience method for using the for enumeration. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - if set to true enumerate only directories. - The search string to match against the names of files in path. - The parameter cannot end in two periods ("..") or - contain two periods ("..") followed by or - , nor can it contain any of the characters in - . - An enumerable containing the file system entries for the specified - + - Enumerates all file system entries as instances - in the specified as part of a transaction. + Required to perform a number of security-related functions, such as controlling and viewing audit messages. This privilege identifies its holder as a security operator. User Right: Manage auditing and security log. - The transaction. - The directory or path containing the file system entries to enumerate. - - An enumerable containing the file system entries for the specified - - This is a convenience method for using the for enumeration. - + - Enumerates the file system entries in the specified matching - the specified as instances as part - of a transaction. + Required to shut down a local system. User Right: Shut down the system. - The transaction. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - The search string to match against the names of files in path. - The parameter cannot end in two periods ("..") or - contain two periods ("..") followed by or - , nor can it contain any of the characters in - . - - An enumerable containing the file system entries for the specified - - This is a convenience method for using the for enumeration. - + - Enumerates all file system entries as instances - in the specified as part of a transaction, optionally enumerating - directories only. + Required for a domain controller to use the LDAP directory synchronization services. This privilege enables the holder to read all objects and properties in the directory, regardless of the protection on the objects and properties. By default, it is assigned to the Administrator and LocalSystem accounts on domain controllers. User Right: Synchronize directory service data. - The transaction. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - if set to true enumerate only directories. - - An enumerable containing the file system entries for the specified - - This is a convenience method for using the for enumeration. - + - Enumerates the file system entries in the specified matching - the specified as instances as part - of a transaction, optionally enumerating directories only. + Required to modify the nonvolatile RAM of systems that use this type of memory to store configuration information. User Right: Modify firmware environment values. - The transaction. - The directory or path, and the file name, which can include - wildcard characters, for example, an asterisk (*) or a question mark (?). - The search string to match against the names of files in path. - The parameter cannot end in two periods ("..") or - contain two periods ("..") followed by or - , nor can it contain any of the characters in - . - if set to true enumerate only directories. - - An enumerable containing the file system entries for the specified - - This is a convenience method for using the for enumeration. - + - Retrieves the parent directory of the specified path, including both absolute and relative paths. + Required to gather profiling information for the entire system. User Right: Profile system performance. - The path for which to retrieve the parent directory. - The parent directory or a reference if the path is the root. - + - Enables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory. + Required to modify the system time. User Right: Change the system time. - The name of the directory for which to enable encryption. - + - Disables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory. + Required to take ownership of an object without being granted discretionary access. This privilege allows the owner value to be set only to those values that the holder may legitimately assign as the owner of an object. User Right: Take ownership of files or other objects. - The name of the directory for which to disable encryption. - + - Creates a new directory with the attributes of a specified template directory (if one is specified). - If the underlying file system supports security on files and directories, the function - applies the specified security descriptor to the new directory. The new directory retains - the other attributes of the specified template directory. + This privilege identifies its holder as part of the trusted computer base. Some trusted protected subsystems are granted this privilege. User Right: Act as part of the operating system. - The path of the directory to use as a template when creating the new directory. May be to indicate - that no template should be used. - The path of the directory to be created. - The security descriptor to apply to the newly created directory. May be in which case a default - security descriptor will be applied. - + - Gets the files or directories for use with or . + Required to adjust the time zone associated with the computer's internal clock. User Right: Change the time zone. - The transaction (or null to work untransacted). - The path. - The search pattern. - The search option. - if set to true only directories will be included, if false only files will be included. - An array with all the requested entries. - + - The exception that is thrown when an attempt to create a directory or file that already exists was made. + Required to access Credential Manager as a trusted caller. User Right: Access Credential Manager as a trusted caller. - + - Initializes a new instance of the class. + Required to undock a laptop. User Right: Remove computer from docking station. - + - Initializes a new instance of the class. + Required to read unsolicited input from a terminal device. User Right: Not applicable. - The message. - + - Initializes a new instance of the class. + Create a new representing the specified privilege on the specified system. - The message. - The path. + Name of the system. + The privilege to copy the privilege name from. - + - Initializes a new instance of the class. + Retrieves the display name that represents this privilege. - The message. - The inner exception. + The display name that represents this privilege. - + - Initializes a new instance of the class. + Retrieves the locally unique identifier (LUID) used on to represent this privilege (on the system from which it originates). - The message. - The path. - The inner exception. + the locally unique identifier (LUID) used on to represent this privilege (on the system from which it originates). - + - Initializes a new instance of the class. + Indicates whether the current object is equal to another object of the same type. - The data for serializing or deserializing the object. - The source and destination for the object. + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + - + - Specifies the type of a file. + Determines whether the specified is equal to the current . + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + The parameter is null. - + - The type of the specified file is unknown. + Serves as a hash function for a particular type. + + A hash code for the current . + - + - The specified file is a disk file. + Returns the system name for this privilege. + This is equivalent to . + + A that represents the current . + - + - The specified file is a character file, typically an LPT device or a console. + Initializes a new instance of the class, representing a privilege + with the specified name on the local system. + The name. - + - The specified file is a socket, a named pipe, or an anonymous pipe. + Gets the system name identifying this privilege. + The system name identifying this privilege. - + - Unused. + Indicates whether the link target is a file or directory. - + - The function should return one of the following values. + The link target is a file. - + - Continue the copy operation. + The link target is a directory. - + - Cancel the copy operation and delete the destination file. + The type of the data contained in the backup stream. - + - Stop the copy operation. It can be restarted at a later time. + This indicates an error. - + - Continue the copy operation, but stop invoking to report progress. + Standard data - + - Class used to represent the SECURITY_ATTRIBUES native win32 structure. - It provides initialization function from an ObjectSecurity object. + Extended attribute data - + - Initializes the SecurityAttributes structure from an instance of . + Security descriptor data - A handle that will refer to the memory allocated by this object for storage of the - security descriptor. As long as this object is used, the memory handle should be kept alive, and afterwards it - should be disposed as soon as possible. - The security descriptor to assign to this object. This parameter may be . - + - The move options for a file move operation. + Alternative data streams - + - If the destination file name already exists, the function replaces its contents with the contents of the - source file. + Hard Link Information - This value cannot be used if either source or destination names a directory. - + - If the file is to be moved to a different volume, the function simulates the move by using the CopyFile and DeleteFile functions. + Property data - This value cannot be used with . - + - The system does not move the file until the operating system is restarted. The system moves the file immediately after AUTOCHK is executed, but before creating any paging files. Consequently, this parameter enables the function to delete paging files from previous startups. - This value can only be used if the process is in the context of a user who belongs to the administrators group or the LocalSystem account. + Object identifiers - This value cannot be used with . - + - The function does not return until the file has actually been moved on the disk. - Setting this value guarantees that a move performed as a copy and delete operation is flushed - to disk before the function returns. The flush occurs at the end of the copy operation. + Reparse points - This value has no effect if is set. - + - Reserved for future use. + Sparse file - + - The function fails if the source file is a link source, but the file cannot be tracked after the move. - This situation can occur if the destination is a volume formatted with the FAT file system. + Specifies how the operating system should open a file. - + - The exception that is thrown when a pathname or filename is illegal. + Specifies that the operating system should create a new file. If the file already exists, an exception is thrown. - + - Initializes a new instance of the class. + Specifies that the operating system should create a new file. If the file already exists, it will be overwritten. + Create is equivalent to requesting that if the file does not exist, use ; otherwise, use . - + - Initializes a new instance of the class. + Specifies that the operating system should open an existing file. The ability to open the file is dependent on the value specified by . A is thrown if the file does not exist. - The path. - + - Initializes a new instance of the class. + Specifies that the operating system should open a file if it exists; otherwise, a new file should be created. - The path. - The inner exception. - + - Initializes a new instance of the class. + Specifies that the operating system should open an existing file. Once opened, the file should be truncated so that its size is zero bytes. Attempts to read from a file opened with Truncate cause an exception. - The data for serializing or deserializing the object. - The source and destination for the object. - + - The reason that was called. + Provides instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. + This class cannot be inherited. - + - Another part of the data file was copied. + Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path. + The path to the file. + is a reference. + + You can specify either the fully qualified or the relative file name, but the security check gets the fully qualified name. + - + - Another stream was created and is about to be copied. This is the callback reason given when the callback routine is first invoked. + Refreshes the state of the object. + + FileSystemInfo.Refresh takes a snapshot of the file from the current file system. Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information. This can happen on platforms such as Windows 98. + Calls must be made to Refresh before attempting to get the attribute information, or the information will be outdated. + - + - A KTM transaction object for use with the transacted operations in + Deletes a file. - + - Initializes a new instance of the class, internally using the - specified . This method allows the usage of methods accepting a - with an instance of . + Returns the path as a string. - The transaction to use for any transactional operations. + A string representing the path. - + - Initializes a new instance of the class with a default security descriptor, - infinite timeout and no description. + Creates a that appends text to the file represented by this instance of the . + A that appends UTF-8 encoded text to an existing file. - + - Initializes a new instance of the class with a default security descriptor. + Copies an existing file to a new file, disallowing the overwriting of an existing file. - The time, in milliseconds, when the transaction will be aborted if it has not already reached the prepared state. - A user-readable description of the transaction. May be null. + The name of the new file to copy to. + A new file with a fully qualified path. - + - Initializes a new instance of the class. + Copies an existing file to a new file, allowing the overwriting of an existing file. - The security descriptor. - The time, in milliseconds, when the transaction will be aborted if it has not already reached the prepared state. - Specify 0 to provide an infinite timeout. - A user-readable description of the transaction. May be null. + The name of the new file to copy to. + true to allow an existing file to be overwritten; otherwise, false. + A new file, or an overwrite of an existing file if overwrite is true. If the file exists and overwrite is false, an IOException is thrown. - + - Requests that the specified transaction be committed. + Creates a file. - The transaction was already committed. - The transaction was already aborted. - An error occured + A new file. - + - Requests that the specified transaction be rolled back. This function is synchronous. + Creates a that writes a new text file. - The transaction was already committed. - An error occured + A new - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Decrypts a file that was encrypted by the current account using the method. + The Decrypt method allows you to decrypt a file that was encrypted using the Encrypt method. + The Decrypt method can decrypt only files that were encrypted using the current user account. + Both the Encrypt method and the Decrypt method use the cryptographic service provider (CSP) installed on the computer and the file encryption keys of the process calling the method. + The current file system must be formatted as NTFS and the current operating system must be Microsoft Windows NT or later. + - + - Gets the safe handle. + Encrypts a file so that only the account used to encrypt the file can decrypt it. - The safe handle. + + The Encrypt method allows you to encrypt a file so that only the account used to call this method can decrypt it. Use the Decrypt method to decrypt a file encrypted by the Encrypt method. + Both the Encrypt method and the Decrypt method use the cryptographic service provider (CSP) installed on the computer and the file encryption keys of the process calling the method. + The current file system must be formatted as NTFS and the current operating system must be Microsoft Windows NT or later. + - + - IntPtr wrapper which can be used as result of - Marshal.AllocHGlobal operation. - Calls Marshal.FreeHGlobal when disposed or finalized. + Gets a object that encapsulates the access control list (ACL) entries for the file described by the current object. + A FileSecurity object that encapsulates the access control rules for the current file. - + - Creates new instance with zero IntPtr + Gets a object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object. + The include sections. + object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object. - + - Creates new instance which allocates unmanaged memory of given size - Can throw OutOfMemoryException + Moves a specified file to a new location, providing the option to specify a new file name. + The path to move the file to, which can specify a different file name. + This method works across disk volumes. For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt. - + - Copies data from a one-dimensional, managed 8-bit unsigned integer array to the unmanaged memory pointer referenced by this instance- + Opens a file in the specified mode. - The one-dimensional array to copy from. - The zero-based index into the array where Copy should start. - The number of array elements to copy. + A FileMode constant specifying the mode (for example, Open or Append) in which to open the file. + A file opened in the specified mode, with read/write access and unshared. - + - Called when object is disposed or finalized. + Opens a file in the specified mode with read, write, or read/write access. + A FileMode constant specifying the mode (for example, Open or Append) in which to open the file. + A FileAccess constant specifying whether to open the file with Read, Write, or ReadWrite file access. + A file opened in the specified mode, with read/write access and unshared. - + - The file or directory was not a reparse point. + Opens a file in the specified mode with read, write, or read/write access. + A FileMode constant specifying the mode (for example, Open or Append) in which to open the file. + A FileAccess constant specifying whether to open the file with Read, Write, or ReadWrite file access. + A FileShare constant specifying the type of access other FileStream objects have to this file. + A file opened in the specified mode, with read/write access and unshared. - + - Initializes a new instance of the class. + Creates a read-only FileStream. + A new read-only FileStream object. - + - Initializes a new instance of the class. + Creates a StreamReader with UTF8 encoding that reads from an existing text file. - The message. + A new StreamReader with UTF8 encoding. - + - Initializes a new instance of the class. + Creates a write-only FileStream. - The message. - The inner exception. + A new write-only unshared FileStream object. - + - Initializes a new instance of the class. + Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file. - The info. - The context. + The name of a file to replace with the current file. + The name of a file with which to create a backup of the file described by the destFileName parameter. + A FileInfo object that encapsulates information about the file described by the destFileName parameter. + The Replace method replaces the contents of a specified file with the contents of the file described by the current FileInfo object. It also creates a backup of the file that was replaced. Finally, it returns a new FileInfo object that describes the overwritten file. - + - Specifies how the operating system should open a file. + Replaces the specified destination file name. + The name of a file to replace with the current file. + The name of a file with which to create a backup of the file described by the destFileName parameter. + true to ignore merge errors (such as attributes and ACLs) from the replaced file to the replacement file; otherwise false. + A FileInfo object that encapsulates information about the file described by the destFileName parameter. + The Replace method replaces the contents of a specified file with the contents of the file described by the current FileInfo object. It also creates a backup of the file that was replaced. Finally, it returns a new FileInfo object that describes the overwritten file. + The last parameter is not supported yet. + - + - None of the options specified. + Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object. + A FileSecurity object that describes an access control list (ACL) entry to apply to the current file. + The SetAccessControl method applies access control list (ACL) entries to the current file that represents the noninherited ACL list. + Use the SetAccessControl method whenever you need to add or remove ACL entries from a file. + - + - The file should be archived. Applications use this attribute to mark files for backup or removal. + Gets an instance of the parent directory. + A object representing the parent directory of this file. + To get the parent directory as a string, use the DirectoryName property. + - + - The file or directory is encrypted. For a file, this means that all data in the file is encrypted. For a directory, this means that encryption is the default for newly created files and subdirectories. + Gets a value indicating whether the file or directory exists. + true if the file exists; otherwise, false. - + - The file is hidden. Do not include it in an ordinary directory listing. + Gets or sets a value that determines if the current file is read only. + + true if the current file is read only; otherwise, false. + - + - The file does not have other attributes set. This attribute is valid only if used alone. + Gets the name of the file with extension. + File name with extension. + + For a file, Name returns only the file name and file name extension, such as MyFile.txt, not c:\Dir\Myfile.txt. + - + - The data of a file is not immediately available. This attribute indicates that file data is physically moved to offline storage. This attribute is used by Remote Storage, the hierarchical storage management software. Applications should not arbitrarily change this attribute. + Gets the file size. + The file size. - + - The file is read only. Applications can read the file, but cannot write to or delete it. + Flags that specify how a file is to be copied. - + - The file is part of or used exclusively by an operating system. + None of the other flags. - + - The file is being used for temporary storage. + The copy operation fails immediately if the target file already exists. - + - The file is being opened or created for a backup or restore operation. The system ensures that the calling process - overrides file security checks when the process has SE_BACKUP_NAME and SE_RESTORE_NAME privileges. - You must set this flag to obtain a handle to a directory. A directory handle can be passed to some functions instead of a file handle. + Progress of the copy is tracked in the target file in case the copy fails. + The failed copy can be restarted at a later time by specifying the same values for + existing file name and new file name as those used in the call that failed. - + - The file is to be deleted immediately after all of its handles are closed, which includes the specified handle and any other open or duplicated handles. - If there are existing open handles to a file, the call fails unless they were all opened with the share mode. - Subsequent open requests for the file fail, unless the share mode is specified. + The file is copied and the original file is opened for write access. - + - There are strict requirements for successfully working with files opened with the flag, for - details see the section on "File Buffering" in the online MSDN documentation. + An attempt to copy an encrypted file will succeed even if the destination copy cannot be encrypted. + + + Windows 2000: + This value is not supported + + - + - The file data is requested, but it should continue to be located in remote storage. It should not be transported back to local storage. This flag is for use by remote storage systems. + If the source file is a symbolic link, the destination file is also a symbolic link pointing to the same file that the source symbolic link is pointing to. + + + Windows Server 2003 and Windows XP/2000: + This value is not supported + + - + - Normal reparse point processing will not occur; an attempt to open the reparse point will be made. - When a file is opened, a file handle is returned, whether or not the filter that controls the reparse - point is operational. See MSDN documentation for more information. + The exception that is thrown when an attempt to create a directory or file that already exists was made. - + - The file or device is being opened or created for asynchronous I/O. + Initializes a new instance of the class. - + - Access will occur according to POSIX rules. This includes allowing multiple files with names, differing only in case, for file systems that support that naming. Use care when using this option, because files created with this flag may not be accessible by applications that are written for MS-DOS or 16-bit Windows. + Initializes a new instance of the class. + The message. - + - Access is intended to be random. The system can use this as a hint to optimize file caching. + Initializes a new instance of the class. + The message. + The path. - + - Access is intended to be sequential from beginning to end. The system can use this as a hint to optimize file caching. + Initializes a new instance of the class. + The message. + The inner exception. - + - Write operations will not go through any intermediate cache, they will go directly to disk. + Initializes a new instance of the class. + The message. + The path. + The inner exception. - + - Callback used by MoveFile and CopyFile to report progress about the - operation. + Initializes a new instance of the class. + The data for serializing or deserializing the object. + The source and destination for the object. - + - Exposes instance methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited. + The reason that was called. - + - Initializes a new instance of the class on the specified path. + Another part of the data file was copied. - A string specifying the path on which to create the DirectoryInfo. - + - Refreshes the state of the object. + Another stream was created and is about to be copied. This is the callback reason given when the callback routine is first invoked. - - FileSystemInfo.Refresh takes a snapshot of the file from the current file system. Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information. This can happen on platforms such as Windows 98. - Calls must be made to Refresh before attempting to get the attribute information, or the information will be outdated. - - + - Deletes a file or directory. + The collection of values that should return in case of traversal failure. - + - Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files. + - true to remove directories, subdirectories, and files in path; otherwise, false. - - If the DirectoryInfo has no files or subdirectories, this method deletes the DirectoryInfo even if recursive is false. Attempting to delete a DirectoryInfo that is not empty when recursive is false throws an IOException. - For a list of common I/O tasks, see Common I/O Tasks. - - + - Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files. + - true to remove directories, subdirectories, and files in path; otherwise, false. - if set to true ignores read only attribute of files and directories. - - If the DirectoryInfo has no files or subdirectories, this method deletes the DirectoryInfo even if recursive is false. Attempting to delete a DirectoryInfo that is not empty when recursive is false throws an IOException. - For a list of common I/O tasks, see Common I/O Tasks. - - + - Returns the original path that was passed by the user. + - Returns the original path that was passed by the user. - + - Gets a DirectorySecurity object that encapsulates the access control list (ACL) entries for the directory described by the current DirectoryInfo object. + - A DirectorySecurity object that encapsulates the access control rules for the directory. - + - Gets a DirectorySecurity object that encapsulates the specified type of access control list (ACL) entries for the directory described by the current DirectoryInfo object. + Performs operations on String instances that contain file or directory path information. - One of the AccessControlSections values that specifies the type of access control list (ACL) information to receive. - A DirectorySecurity object that encapsulates the access control rules for the file described by the path parameter. - + - Applies access control list (ACL) entries described by a DirectorySecurity object to the directory described by the current DirectoryInfo object. + Provides standard Windows UNC path prefix - A DirectorySecurity object that describes an ACL entry to apply to the directory described by the path parameter. - + - Returns the subdirectories of the current directory. + Provides standard Windows long path prefix - An array of DirectoryInfo objects. - If there are no subdirectories, this method returns an empty array. This method is not recursive. - + - Returns an array of directories in the current DirectoryInfo matching the given search criteria. + Provides standard Windows long path UNC prefix - The search string, such as "System*", used to search for all directories beginning with the word "System". - An array of type DirectoryInfo matching searchPattern. - - Wildcards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". - The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. - If there are no subdirectories, or no subdirectories match the searchPattern parameter, this method returns an empty array. - For a list of common I/O tasks, see Common I/O Tasks. - - + - Returns an array of directories in the current DirectoryInfo matching the given search criteria and using a value to determine whether to search subdirectories. - - The search string, such as "System*", used to search for all directories beginning with the word "System". - One of the values of the SearchOption enumeration that specifies whether the search operation should include only the current directory or should include all subdirectories. - - An array of type DirectoryInfo matching searchPattern. - - - Wildcards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". - The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. - If there are no subdirectories, or no subdirectories match the searchPattern parameter, this method returns an empty array. - For a list of common I/O tasks, see Common I/O Tasks. - + Changes the extension of a path string. + + The path information to modify. The path cannot contain any of the characters defined in GetInvalidPathChars. + The new extension (with a leading period). Specify to remove an existing extension from path. + The specified with the extension of the file name changed to the specified . - + - Returns a file list from the current directory. + Combines two path strings. - An array of type FileInfo. + The path1. + The path2. + A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If contains an absolute path, this method returns . - + - Returns a file list from the current directory matching the given searchPattern. + Returns the directory information for the specified with a trailing directory separator. - The search string, such as "*.txt". - An array of type FileInfo. + The path. + The directory information for the specified with a trailing directory separator. + + + - + - Returns a file list from the current directory matching the given searchPattern and using a value to determine whether to search subdirectories. + Returns the directory information for the specified without the root and with a trailing directory separator. - The search string, such as "System*", used to search for all directories beginning with the word "System". - One of the values of the SearchOption enumeration that specifies whether the search operation should include only the current directory or should include all subdirectories. - An array of type FileInfo. - - The following wildcard specifiers are permitted in searchPattern: "*" and "?". - The order of the returned file names is not guaranteed; use the Sort()()() method if a specific sort order is required. - Wildcards are permitted. For example, the searchPattern string "*.txt" searches for all file names having an extension of "txt". - The searchPattern string "s*" searches for all file names beginning with the letter "s". If there are no files, or no files that match the searchPattern string in the DirectoryInfo, this method returns an empty array. - + The path. + The directory information for the specified without the root and with a trailing directory separator. + + + - + - Returns an array of strongly typed FileSystemInfo entries representing all the files and subdirectories in a directory. + Returns the directory information for the specified path string. - An array of strongly typed FileSystemInfo entries. - - This method is not recursive. - For subdirectories, the FileSystemInfo objects returned by this method can be cast to the derived class DirectoryInfo. Use the FileAttributes value returned by the FileSystemInfo.Attributes property to determine whether the FileSystemInfo represents a file or a directory. - Wild cards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". - The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. If there are no files or directories, or no files or directories that match the searchPattern string in the DirectoryInfo, this method returns an empty array. - For a list of common I/O tasks, see Common I/O Tasks. - + The path. + The path without the file name part (if any). - + - Retrieves an array of strongly typed FileSystemInfo objects representing the files and subdirectories matching the specified search criteria. + Returns the directory information for the specified path string without the root information. - The search string, such as "System*", used to search for all directories beginning with the word "System". - An array of strongly typed FileSystemInfo objects matching the search criteria. - - This method is not recursive. - For subdirectories, the FileSystemInfo objects returned by this method can be cast to the derived class DirectoryInfo. Use the FileAttributes value returned by the FileSystemInfo.Attributes property to determine whether the FileSystemInfo represents a file or a directory. - Wild cards are permitted. For example, the searchPattern string "*t" searches for all directory names in path ending with the letter "t". The searchPattern string "s*" searches for all directory names in path beginning with the letter "s". - The string ".." can only be used in searchPattern if it is specified as a part of a valid directory name, such as in the directory name "a..b". It cannot be used to move up the directory hierarchy. If there are no files or directories, or no files or directories that match the searchPattern string in the DirectoryInfo, this method returns an empty array. - For a list of common I/O tasks, see Common I/O Tasks. - + The path. + The path without the file name part and without the root information (if any). - + - Moves a DirectoryInfo instance and its contents to a new path. + Returns the extension of the specified path string. - The name and path to which to move this directory. - The destination cannot be directory with the identical name. It can be an existing directory to which you want to add this directory as a subdirectory. - - This method throws an IOException if, for example, you try to move c:\mydir to c:\public, and c:\public already exists. You must specify "c:\\public\\mydir" as the destDirName parameter, or specify a new directory name such as "c:\\newdir". - This method permits moving a directory to a read-only directory. The read/write attribute of neither directory is affected. - For a list of common I/O tasks, see Common I/O Tasks. - + The path string from which to get the extension. + The extension of the specified , or an empty string + if the path contains no extension. If the path is , this method + returns . - + - Gets a value indicating whether the file or directory exists. + Returns the file name and extension of the specified path string. - true if the file exists; otherwise, false. + The path string from which to obtain the file name and extension. + A String consisting of the characters after the last directory character in path. + If the last character of path is a directory or volume separator character, + this method returns Empty. If path is a null reference, this method returns + . - + - Gets the name of the last directory in the hierarchy if a hierarchy exists. Otherwise, the Name property gets the name of the directory. + Returns the file name without extension of the specified path string. - - - For a directory, Name returns only the name of the parent directory, such as Dir, not c:\Dir. For a subdirectory, Name returns only the name of the subdirectory, such as Sub1, not c:\Dir\Sub1. - + The path string from which to obtain the file name. + A String consisting of the characters after the last directory character in path + up to the extension. + If the last character of path is a directory or volume separator character, + this method returns an empty string. If path is a null reference, this method returns + . - + - Gets the parent directory of a specified subdirectory. + Returns the absolute path for the specified path string. - The parent directory, or nullNothingnullptra null reference (Nothing in Visual Basic) if the path is null or if the file path denotes a root (such as "\", "C:", or * "\\server\share"). + The file or directory for which to obtain absolute path information. + A string containing the fully qualified location of path, such as "C:\MyFile.txt". - + - Gets the root portion of a path. + Retrieves the short 8.3 type path form of the specified path. - A DirectoryInfo object representing the root of a path. + The existing path. Can be regualr and long paths. Otherwise throws an error. + A path that has 8.3 type names. + Hasn't been tested on NTFS volumes with disabled 8.3 name generation. Suspect some weirdness. - + - Used to enable one or more privileges. The privileges specified will be enabled during the - lifetime of the instance. Users create an instance of this object in a using statement - to ensure that it is properly disposed when the elevated privileges are no longer needed. + Converts the specified existing path to its regular long form. + The existing path. + The full path - + - Initializes a new instance of the class. This will enable the - privileges specified (unless already enabled), and ensure that they are disabled again when - the object is disposed. (Any privileges already enabled will not be disabled). + Gets an array containing the characters that are not allowed in file names. - The privilege to enable. - Additional privileges to enable. + An array containing the characters that are not allowed in file names. + See also - + - Makes sure any privileges enabled by this instance are disabled. + Gets an array containing the characters that are not allowed in path names. + An array containing the characters that are not allowed in path names. + See also - + - Gets the enabled privileges. Note that this might not contain all privileges specified - to the constructor. Only the privileges actually enabled by this instance is returned. + Gets the path root. - The enabled privileges. + The path. + A string containing the root directory of path, such as "C:\", or + if is , or an empty string if path does not + contain root directory information. - + - The remote server or share does not support transacted file operations. + Returns a random folder name or file name. + A random folder name or file name. + This is equivalent to . - + - Initializes a new instance of the class. + Creates a uniquely named, zero-byte temporary file on disk and returns the full path of that file. + A containing the full path of the temporary file. + This is equivalent to - + - Initializes a new instance of the class. + Returns the path of the current system's temporary folder. - The message. + A containing the path information of a temporary directory. + This is equivalent to - + - Initializes a new instance of the class. + Gets the connection name of the locally mapped drive. - The message. - The inner exception. + The local path with drive name. This method does not support long path prefixes. + String which has the following format \\servername\sharename. - + - Initializes a new instance of the class. + Gets the UNC name from the locally mapped path. - The object that holds the serialized object data. - The contextual information about the source or destination. + The local path with drive name. + String in which drive name being replaced with it's UNC connection name. - + - The function attempted to use a name that is reserved for use by another transaction. + Gets the mapped info internal. + This method uses NativeMethods.RemoteNameInfo level to retieve more info :) + The local path with drive name. + - + - Initializes a new instance of the class. + Determines whether a path includes a file name extension. + The path to search for an extension. + + true if the specified path has extension; otherwise, false. + - + - Initializes a new instance of the class. + Gets a value indicating whether the specified path string contains absolute or relative path information. - The message. + The path to test. + + true if contains an absolute path; otherwise, false. + - + - Initializes a new instance of the class. + Check if file or folder name has any invalid characters. - The message. - The inner exception. + File or folder name. + True or False - + - Initializes a new instance of the class. + Verifies that the specified is valid and does not contain any wildcards. - The info. - The context. + The string to test if it contains a valid path. + if is a valid path, otherwise. - + - Represents information about a symbolic link. + Verifies that the specified is valid and optionally may contain wildcards. + The string to test if it contains a valid path. + if set to true wildcards are allowed in the filename part of the path, otherwise the + presence of wildcards will render the path invalid. + + if is a valid path, otherwise. + - + - Gets the type of the link. + Check if the given path is has the specific long path prefix. - The type of the link. + File or folder full path. + true if has long path prefix, otherwise false. + + + + Retrieves the full long (or extended) unicode version of the specified . + + + + This method takes care of different path conversions to be usable in Unicode + variants of the Win32 funcitons (which are internally used throughout AlphaFS). + + + Regular paths are changed like the following: + + + C:\Somewhere\Something.txt + \\?\C:\Somewhere\Something.txt + + + \\Somewhere\Something.txt + \\?\UNC\Somewhere\Something.txt + + + + + Already processed paths are preserved untouched so to avoid mistakes of double prefixing. + + + If the is not an absolute path, or is not rooted, the path of the + current directory (and drive) is combined with the specified to form + an absolute path. + + + File or Folder name to sanitize and prefix with proper standard. + The full long (or extended) unicode version of the specified . - + - Indicates whether the link target is a file or directory. + Gets the regular path from long prefixed one. i.e. \\?\C:\Temp\file.txt to C:\Temp\file.txt + \\?\UNC\Server\share\file.txt to \\Server\share\file.txt + The path. + Regular form path string. + This method does not handle paths with volume names, eg. \\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\Folder\file.txt - + - The link target is a file. + Determines whether the specified path is UNC path. + Supports long path prefix. + The path. + + true if the specified path is UNC; otherwise, false. + - + - The link target is a directory. + Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization. + The alt directory separator char. + Equivalent to - + - IntPtr wrapper which can be used as result of - Marshal.AllocHGlobal operation. - Calls Marshal.FreeHGlobal when disposed or finalized. + Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization. + The directory separator char. + Equivalent to - + - Creates new instance with zero IntPtr + A platform-specific separator character used to separate path strings in environment variables.. + The path separator. + Equivalent to - + - Copies data from a one-dimensional, managed 8-bit unsigned integer array to the unmanaged memory pointer referenced by this instance- + Provides a platform-specific volume separator character. - The one-dimensional array to copy from. - The zero-based index into the array where Copy should start. - The number of array elements to copy. + The volume separator char. + Equivalent to - + - Called when object is disposed or finalized. + The file or directory was not a reparse point. - + - This object is used to enable a specific privilege for the currently running process during its lifetime. - It should be disposed as soon as the elevated privilege is no longer needed. - For more information see the documentation on AdjustTokenPrivileges on MSDN. + Initializes a new instance of the class. - + - Initializes a new instance of the class and enabling the specified privilege - for the currently running process. + Initializes a new instance of the class. - The name of the privilege. + The message. - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - In this case the privilege previously enabled will be disabled. + Initializes a new instance of the class. + The message. + The inner exception. - + - Adjusts the privilege. + Initializes a new instance of the class. - if set to true the privilege will be enabled, otherwise disabled. + The info. + The context. - + - The function attempted to use a name that is reserved for use by another transaction. + Contains constants for controlling the kind of access other FileStream objects can have to the same file. + This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. - + - Initializes a new instance of the class. + Declines sharing of the current file. Any request to open the file (by this process or another process) will fail until the file is closed. - + - Initializes a new instance of the class. + Allows subsequent opening of the file for reading. If this flag is not specified, any request to open the file for reading (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. - The message. - + - Initializes a new instance of the class. + Allows subsequent opening of the file for writing. If this flag is not specified, any request to open the file for writing (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. - The message. - The inner exception. - + - Initializes a new instance of the class. + Allows subsequent opening of the file for reading or writing. If this flag is not specified, any request to open the file for reading or writing (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. - The info. - The context. - + - Represents information retrieved by . + Allows subsequent deleting of a file. - + - Gets the file attributes. + Contains information about files in the specified directory. - The file attributes. + - + - Gets a structure that specified when a file or directory was created. + The byte offset of the file within the parent directory. + This member is undefined for file systems, such as NTFS, in which the position of a file within the parent directory is not fixed + and can be changed at any time to maintain sort order. - A structure that specified when a file or directory was created. - + - Gets a structure. - For a file, the structure specifies the last time that a file is read from or written to. - For a directory, the structure specifies when the directory is created. - For both files and directories, the specified date is correct, but the time of day is always set to midnight. - If the underlying file system does not support the last access time, this member is zero (0). + The time that the file was created. - A structure that specified when a file was last written to or the directory created. - + - Gets a structure. - For a file, the structure specifies the last time that a file is written to. - For a directory, the structure specifies when the directory is created. - If the underlying file system does not support the last access time, this member is zero (0). + The time that the file was last accessed. - A structure that specified when a file was last written to or the directory created. - + - Gets the the serial number of the volume that contains a file. + The time that the file was last written to. - The serial number of the volume that contains a file. - + - Gets the size of the file. + The time that the file was last changed. - The size of the file. - + - Gets the number of links to this file. For the FAT file system this member is always 1. For the NTFS file system, it can be more than 1. + The absolute new end-of-file position as a byte offset from the start of the file to the end of the file. + Because this value is zero-based, it actually refers to the first free byte in the file. In other words, EndOfFile is the offset to + the byte that immediately follows the last valid byte in the file. - The number of links to this file. - + - Gets the unique identifier associated with the file. The identifier and the volume serial number uniquely identify a - file on a single computer. To determine whether two open handles represent the same file, combine the identifier - and the volume serial number for each file and compare them. + The number of bytes that are allocated for the file. This value is usually a multiple of the sector or cluster size of the underlying physical device. - The unique identifier of the file. - + - The requested operation could not be completed because the device was not ready. + The file attributes. - + - Initializes a new instance of the class. + The size of the extended attributes for the file. - + - Initializes a new instance of the class. + The short 8.3 file naming convention (for example, FILENAME.TXT) name of the file. - The message. - + - Initializes a new instance of the class. + The file ID. - The message. - The inner exception. - + - Initializes a new instance of the class. + The name of the file. - The data for serializing or deserializing the object. - The source and destination for the object. @@ -5372,1021 +5293,1488 @@ The object that holds the serialized object data. The contextual information about the source or destination. - + - A strongly-typed resource class, for looking up localized strings, etc. + A KTM transaction object for use with the transacted operations in - + - Returns the cached ResourceManager instance used by this class. + Initializes a new instance of the class, internally using the + specified . This method allows the usage of methods accepting a + with an instance of . + The transaction to use for any transactional operations. - + - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. + Initializes a new instance of the class with a default security descriptor, + infinite timeout and no description. - - - Looks up a localized string similar to AlphaFS Internal Error: - . - + + + Initializes a new instance of the class with a default security descriptor. + + The time, in milliseconds, when the transaction will be aborted if it has not already reached the prepared state. + A user-readable description of the transaction. May be null. - + - Looks up a localized string similar to Argument must not be empty. + Initializes a new instance of the class. + The security descriptor. + The time, in milliseconds, when the transaction will be aborted if it has not already reached the prepared state. + Specify 0 to provide an infinite timeout. + A user-readable description of the transaction. May be null. - - - Looks up a localized string similar to Incorrectly implemented function attempting to generate exception from successful operation. - . - + + + Requests that the specified transaction be committed. + + The transaction was already committed. + The transaction was already aborted. + An error occured - + - Looks up a localized string similar to Buffer is not large enough for the requested operation.. + Requests that the specified transaction be rolled back. This function is synchronous. + The transaction was already committed. + An error occured - + - Looks up a localized string similar to Count must not be negative.. + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - + - Looks up a localized string similar to Directory not empty. + Gets the safe handle. + The safe handle. - + - Looks up a localized string similar to Directory not found. + IntPtr wrapper which can be used as result of + Marshal.AllocHGlobal operation. + Calls Marshal.FreeHGlobal when disposed or finalized. - + - Looks up a localized string similar to Error code was: {0}. + Creates new instance with zero IntPtr - + - Looks up a localized string similar to Creating hard-links on non-NTFS partitions is not supported. + Creates new instance which allocates unmanaged memory of given size + Can throw OutOfMemoryException - + - Looks up a localized string similar to Illegal path: {0}. + Copies data from a one-dimensional, managed 8-bit unsigned integer array to the unmanaged memory pointer referenced by this instance- + The one-dimensional array to copy from. + The zero-based index into the array where Copy should start. + The number of array elements to copy. - + - Looks up a localized string similar to Incomplete header read.. + Called when object is disposed or finalized. - + - Looks up a localized string similar to Invalid directory name. + Represents information about a file system entry. Used together with . - + - Looks up a localized string similar to Invalid file name: {0}. + Initializes a new instance of the class. + The WIN32 find data structure. - + - Looks up a localized string similar to Invalid handle. + Gets internal WIN32 FIND Data - + - Looks up a localized string similar to Invalid search pattern. + Gets the attributes. + The attributes. - + - Looks up a localized string similar to Invalid security descriptor returned from system.. + Gets the name of the file. + The name of the file. - + - Looks up a localized string similar to Invalid transaction object. + Gets the size of the file. + The size of the file. - + - Looks up a localized string similar to Invalid transaction request. + Gets the 8.3 version of the filename. + the 8.3 version of the filename. - + - Looks up a localized string similar to The file or directory is not a reparse point. + Gets the time this entry was created. + The time this entry was created. - + - Looks up a localized string similar to Offset must not be negative.. + Gets the time this entry was last accessed. + The time this entry was last accessed. - + - Looks up a localized string similar to Path already exists. + Gets the time this entry was last modified. + The time this entry was last modified. - + - Looks up a localized string similar to This stream does not support seeking.. + Gets a value indicating whether this instance represents a directory. + + true if this instance represents a directory; otherwise, false. + - + - Looks up a localized string similar to Transactional conflict. + Gets a value indicating whether this instance is definitely a file. + true if this instance is file; otherwise, false. + Definite file is NOT a directory and NOT a device. - + - Looks up a localized string similar to Transaction already aborted. + Gets a value indicating whether this instance is a reparse point. + + true if this instance is a reparse point; otherwise, false. + - + - Looks up a localized string similar to Transaction already committed. + Gets a value indicating whether this instance is a mount point. + + true if this instance is a mount point; otherwise, false. + - + - Looks up a localized string similar to Transaction not active. + Gets a value indicating whether this instance is a symbolic link. + + true if this instance is a symbolic link; otherwise, false. + - + - Looks up a localized string similar to Transaction not requested. + Gets the reparse point tag of this entry. + The reparse point tag of this entry. - + - Specifies the type of a symbolic link + The real full path of the file system object/entry. - + - The symbolic link is absolute + This property is intended to be used with in the future versions of the library + to store a full path that is relative to a parent symbolic link or junction point. + It will be correctly set by enumerating methods. + + Parent Symbolic Directory Link Pointed + From: C:\Users\Novels\Application Data + To: C:\Users\Novels\AppData\Roaming + so the entryu info for vlc-qt-interface.ini file will have following values + FullPath: C:\Users\Novels\AppData\Roaming\vlc\vlc-qt-interface.ini + VirtualFullPath: C:\Users\Novels\Application Data\vlc\vlc-qt-interface.ini + - + - The symbolic link is relative + Provides a concrete implementation of SafeHandle supporting transactions. - + - Represents information about a volume. + Initializes a new instance of the class. - + - Gets the name of the volume. + When overridden in a derived class, executes the code required to free the handle. - The name of the volume. + + true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant. + - + - Gets a value indicating whether the file system preserves the case of file names when it places a name on disk.. + Enumerator used to enumerate file system entries (i.e. files and directories). - true if the file system preserves the case of file names when it places a name on disk.]; otherwise, false. + The enumerator can only be used to enumerate through the items once, + and cannot be reset. - + - Gets a value indicating whether the file system supports case-sensitive file names.. + Initializes a new instance of the class. - - true if the file system supports case-sensitive file names; otherwise, false. - + A search string, the path which has wildcard characters, + for example, an asterisk (*) or a question mark (?). + Note that no validation is done whether or not the path specified in searchString actually exists when + the enumerator is constructed. This instead occurs during the first call to . - + - Gets a value indicating whether the file system supports file-based compression. + Initializes a new instance of the class. - - true if the file system supports file-based compression; otherwise, false. - + The directory or searchString, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + if set to true enumerates only directories. + Note that no validation is done whether or not the searchString actually exists when + the enumerator is constructed. This instead occurs during the first call + to . - + - Gets a value indicating whether the file system supports named streams. + Initializes a new instance of the for + enumeration as part of a transaction. - - true if the file system supports named streams; otherwise, false. - + The kernel transaction object. + The directory or searchString, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + Note that no validation is done whether or not the searchString actually exists when + the enumerator is constructed. This instead occurs during the first call + to . + If is , this constructor is equivalent + to , leading to non-transacted call. - + - Gets a value indicating whether the file system preserves and enforces access control lists (ACL). + Initializes a new instance of the for + enumeration as part of a transaction. - - true if the file system preserves and enforces access control lists (ACL); otherwise, false. - - For example, the NTFS file system preserves and enforces ACLs, and the FAT file system does not. + The kernel transaction object. + The directory or searchString, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + if set to true enumerate only directories. + Note that no validation is done whether or not the searchString actually exists when + the enumerator is constructed. This instead occurs during the first call + to . + If is , this constructor is equivalent + to , leading to non-transacted call. - + - Gets a value indicating whether the specified volume is read-only.. + Advances the enumerator to the next file system entry matching the specified pattern. - - true if the specified volume is read-only.; otherwise, false. - - This value is not supported on Windows 2000/NT and Windows Me/98/95. + + if the enumerator was successfully advanced to the next element; + if the enumerator has passed the end of the collection. + + The collection was modified after the enumerator was created. - + - Gets a value indicating whether the file system supports the Encrypted File System (EFS). + Filters the current and parent folders WIN32 notation ("." and ".."). - true if the file system supports the Encrypted File System (EFS); otherwise, false. - + - Gets a value indicating whether the file system supports object identifiers. + This method is not supported. - - true if the file system supports object identifiers; otherwise, false. - + always. - + - Gets a value indicating whether he file system supports re-parse points. + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources. - - true if he file system supports re-parse points; otherwise, false. - - + - Gets a value indicating whether the file system supports sparse files. + Gets the representing the file system entry + at the current position of the enumerator. - true if the file system supports sparse files; otherwise, false. + the representing the file system entry + at the current position of the enumerator. + The element in the collection at the current position of the enumerator. - + - Gets a value indicating whether the file system supports Unicode in file names as they appear on disk. + Gets the element in the collection at the current position of the enumerator. - - true if the file system supports Unicode in file names as they appear on disk; otherwise, false. - + + The element in the collection at the current position of the enumerator. - + - Gets a value indicating whether the specified volume is a compressed volume, for example, a DoubleSpace volume. + Gets or sets a value indicating whether to enumerate only folders. - - true if the specified volume is a compressed volume; otherwise, false. - + true if only folders should be enumerated; otherwise, false. - + - Gets a value indicating whether the file system supports disk quotas. + The file attributes of a file. - true if the file system supports disk quotas; otherwise, false. - + - Gets the volume serial number that the operating system assigns when a hard disk is formatted. + No attributes set. - The volume serial number that the operating system assigns when a hard disk is formatted. - + - Gets the maximum length of a file name component that the file system supports. + The file or directory is an archive file or directory. Applications use this attribute to mark files for backup or removal. - The maximum length of a file name component that the file system supports. - + - Gets the name of the file system, for example, the FAT file system or the NTFS file system. + The file or directory is compressed. + For a file, this means that all of the data in the file is compressed. + For a directory, this means that compression is the default for newly created files and subdirectories. - The name of the file system. - + - It is too late to perform the requested operation, since the Transaction has already been aborted. + Reserved; do not use. - + - Initializes a new instance of the class. + The handle identifies a directory. - + - Initializes a new instance of the class. + The file or directory is encrypted. + For a file, this means that all data in the file is encrypted. + For a directory, this means that encryption is the default for newly created files and subdirectories. - The message. - + - Initializes a new instance of the class. + The file or directory is hidden. It is not included in an ordinary directory listing. - The message. - The inner exception. - + - Initializes a new instance of the class. + The file or directory does not have other attributes set. This attribute is valid only when used alone. - The info. - The context. - + - The exception that is thrown when an attempt to create a directory or file that already exists was made. + The file is not to be indexed by the content indexing service. - + - Initializes a new instance of the class. + The file data is not available immediately. + This attribute indicates that the file data is physically moved to offline storage. + This attribute is used by Remote Storage, which is the hierarchical storage management software. + Note Applications should not arbitrarily change this attribute. - + - Initializes a new instance of the class. + The file or directory is read-only. + For a file, applications can read the file, but cannot write to it or delete it. + For a directory, applications cannot delete it. - The message. - + - Initializes a new instance of the class. + The file or directory has an associated reparse point. - The message. - The inner exception. - + - Initializes a new instance of the class. + The file is a sparse file. - The data for serializing or deserializing the object. - The source and destination for the object. - + - Represents a wrapper class for a handle used by the FindFirstVolume/FindNextVolume methods of the Win32 API + The file or directory is part of the operating system, or the operating system uses the file or directory exclusively. - + - Initializes a new instance of the class. + The file is being used for temporary storage. + File systems attempt to keep all of the data in memory for quick access, rather than flushing it back to mass storage. + An application should delete a temporary file as soon as it is not needed. - + - Initializes a new instance of the class. + The file is a virtual file. - The handle. - if set to true [owns handle]. - + - When overridden in a derived class, executes the code required to free the handle. + Specifies the type of a drive. - - true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant. - - + - The transaction handle associated with this operation is not valid. + The drive type cannot be determined. - + - Initializes a new instance of the class. + The root path is invalid; for example, there is no volume is mounted at the path. - + - Initializes a new instance of the class. + The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader. - The message. - + - Initializes a new instance of the class. + The drive has fixed media; for example, a hard drive or flash drive. - The message. - The inner exception. - + - Initializes a new instance of the class. + The drive is a remote (network) drive. - The data for serializing or deserializing the object. - The source and destination for the object. - + - Attributes of data to facilitate cross-operating system transfer. + The drive is a CD-ROM drive. - - + - Attribute set if the stream contains data that is modified when read. Allows the backup application to know that verification of data will fail. + The drive is a RAM disk. - + - Stream contains security data (general attributes). Allows the stream to be ignored on cross-operations restore. - This attribute applies only to backup stream of type . + Callback delegate used by some of the Directory methods to obtain a of what to do in case of enumeration traversal failure. + The path of failed directory of file + The exception that occured during operation + - + - Reserved. + The remote server or share does not support transacted file operations. - + - This backup stream has no special attributes. + Initializes a new instance of the class. - + - The backup stream is part of a sparse file stream. This attribute applies only to backup stream of - type , , and . + Initializes a new instance of the class. + The message. - + - Contains constants for controlling the kind of access other FileStream objects can have to the same file. - This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. + Initializes a new instance of the class. + The message. + The inner exception. - + - Declines sharing of the current file. Any request to open the file (by this process or another process) will fail until the file is closed. + Initializes a new instance of the class. + The object that holds the serialized object data. + The contextual information about the source or destination. - + - Allows subsequent opening of the file for reading. If this flag is not specified, any request to open the file for reading (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. + Enumeration specifying the different reparse point tags. - + - Allows subsequent opening of the file for writing. If this flag is not specified, any request to open the file for writing (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. + The entry is not a reparse point - + - Allows subsequent opening of the file for reading or writing. If this flag is not specified, any request to open the file for reading or writing (by this process or another process) will fail until the file is closed. However, even if this flag is specified, additional permissions might still be needed to access the file. + Dfs - + - Allows subsequent deleting of a file. + Dfsr - + - Static class providing utility methods for working with Microsoft Windows devices and volumes. Most - of the methods in this class is simple convenience methods for native Win32 API-calls to make them - simpler to use from managed languages. + Hsm - + - Retrieves the name of all volumes on the computer. + Hsm2 - Requires Windows Vista, Windows XP, or Windows 2000 Professional. - An array containing the volume names on the computer. - + - Retrieves the names of all volume mount points on the specified volume. + The entry is a mount point - Requires Windows Vista, Windows XP, or Windows 2000 Professional. - The unique volume name of the volume to scan for volume mount points. A trailing backslash is required. - The names of all volume mount points on the specified volume. - + - Determines whether a disk drive containing the current directory is a removable, fixed, CD-ROM, RAM disk, or network drive. + Sis - Requires Windows Vista, Windows XP, or Windows 2000 Professional. - A value indicating whether a disk drive containing the current directory is a removable, fixed, CD-ROM, RAM disk, or network drive. - + - Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive. + The entry is a symbolic link - Requires Windows Vista, Windows XP, or Windows 2000 Professional. - The root directory for the drive. A trailing backslash is required. - A value indicating whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive. - + - Returns an array of strings that specify valid drives in the system. + Exposes static methods for creating, moving, and enumerating through directories and subdirectories. - Each string in the buffer may be used wherever a root directory is required, such as for the GetDriveType and GetDiskFreeSpace functions. - An array of strings that specify valid drives in the system. + + As opposed to this class supports the use of extenden length unicode paths, such as + \\?\Volume{c00fa7c5-63eb-11dd-b6ed-806e6f6e6963}\Program Files\Internet Explorer. In addition, support for transacted file operation + using the kernel transaction manager is provided. (See also ). + Note that no methods in this class perform any validation of the supplied paths. They are passed as is to the corresponding + native kernel functions, meaning that invalid paths may result in exceptions of a type other than the expected for a certain operation. + + - + + + Creates a new directory. + - Retrieves information about the file system and volume associated with the specified root directory. + Creates a new directory. If the underlying file system supports security on files and directories, the function applies a default security descriptor to the new directory. - The root directory of the volume to be described. - A instance describing the volume associatied with the specified root directory - was not a valid volume name + The path of the directory to be created. - + - Retrieves information about the file system and volume associated with the specified . + Creates a new directory. If the underlying file system supports security on files and directories, the function applies a security descriptor to the new directory. - The file. - A instance describing the volume associatied with the specified root directory - was not a valid volume name + The path of the directory to be created. + The seurity descriptor to apply to the directory - + - Sets the label of a file system volume. + Creates a new directory with the attributes of a specified template directory. + If the underlying file system supports security on files and directories, the function + applies a default security descriptor to the new directory. The new directory retains + the other attributes of the specified template directory. - The root directory of a file system volume. This is the volume the function will label. A trailing backslash is required. - A name for the volume. - or is a reference. + The path of the directory to use as a template when creating the new directory. + The path of the directory to be created. - + - Sets the label of the file system volume that is the root of the current directory + Creates a new directory with the attributes of a specified template directory. + If the underlying file system supports security on files and directories, the function + applies the specified security descriptor to the new directory. The new directory retains + the other attributes of the specified template directory. - A name for the volume. - is a reference. + The path of the directory to use as a template when creating the new directory. + The path of the directory to be created. + The seurity descriptor to apply to the directory. + The specified directory already exists. + One or more intermediate directories do not exist; this function will only create the final directory in the path. - + - Deletes the label of a file system volume. + Creates a new directory with the attributes of a specified template directory (if one is specified). + If the underlying file system supports security on files and directories, the function + applies the specified security descriptor to the new directory. The new directory retains + the other attributes of the specified template directory. - The root directory of a file system volume. This is the volume the function will label. A trailing backslash is required. - is a reference. + The path of the directory to use as a template when creating the new directory. May be to indicate + that no template should be used. + The path of the directory to be created. + The security descriptor to apply to the newly created directory. May be in which case a default + security descriptor will be applied. - + - Deletes the label of the file system volume that is the root of the current directory + Creates a new directory as a transacted operation. + If the underlying file system supports security on files and directories, the function applies a + default security descriptor to the new directory. + The transaction to use. + The path of the directory to be created. - + - Mounts the specified volume at the specified volume mount point. + Creates a new directory as a transacted operation. + If the underlying file system supports security on files and directories, the function + applies a specified security descriptor to the new directory. - The volume mount point where the volume is to be mounted. This may be a root directory (X:\) or a directory on a volume (X:\mnt\). The string must end with a trailing backslash ('\'). - The volume to be mounted. This string must be a unique volume name of the form "\\?\Volume{GUID}\" where GUID is a GUID that identifies the volume. The \\?\ turns off path parsing and is ignored as part of the path. For example, "\\?\C:\myworld\private" is seen as "C:\myworld\private". + The transaction to use. + The path of the directory to be created. + + + If is , the directory gets a default security descriptor. + The access control lists (ACL) in the default security descriptor for a directory are inherited from its parent directory. + + + The target file system must support security on files and directories for this parameter to have an effect. + This is indicated when returns an object with + set to true. + + - + - Unmounts the volume from the specified volume mount point. + Creates a new directory as a transacted operation, with the attributes of a specified template directory. + If the underlying file system supports security on files and directories, the function applies a default security descriptor to the new directory. + The new directory retains the other attributes of the specified template directory. - The volume mount point to be unmounted. This may be a root directory (X:\, in which case the DOS drive letter assignment is removed) or a directory on a volume (X:\mnt\). A trailing backslash is required. - is - It is not an error to attempt to unmount a volume from a volume mount point when there is no volume actually mounted at that volume mount point. + + The path of the directory to use as a template when creating the new directory. This parameter can be . + The directory must reside on the local computer; otherwise, the an exception of type is thrown. + + The transaction to use. + The path of the directory to be created. - + - Defines or redefines MS-DOS device names. + Creates a new directory as a transacted operation, with the attributes of a specified template directory. If the underlying file system supports security on files and directories, the function applies a specified security descriptor to the new directory. The new directory retains the other attributes of the specified template directory. - A MS-DOS path string that will implement this device. - An MS-DOS device name string specifying the device the function is - defining or redefining. The device name string must not have a trailing colon, unless a drive - letter (C or D, for example) is being defined or redefined. In no case is a trailing backslash allowed. - true upon success, or false otherwise. - Call Marshal.GetLastWin32Error() to receive additional error information if this method fails. + + The path of the directory to use as a template when creating the new directory. This parameter can be . + The directory must reside on the local computer; otherwise, the an exception of type is thrown. + + The transaction to use. + The path of the directory to be created. + + + If is , the directory gets a default security descriptor. + The access control lists (ACL) in the default security descriptor for a directory are inherited from its parent directory. + + + The target file system must support security on files and directories for this parameter to have an effect. + This is indicated when returns an object with + set to true. + + - + - Deletes an MS-DOS device name. + Counts files in a given directory. Uses method. + It's way faster than using lots of memory through method. - An MS-DOS device name string specifying the device the function is - deleting. The device name string must not have a trailing colon, unless a drive - letter (C or D, for example) is being deleted. In no case is a trailing backslash allowed. - true upon success, or false otherwise. - Call Marshal.GetLastWin32Error() to receive additional error information if this method fails. + The directory path. + The search option. Either top only directory, or subfolders too. + if set to true skip on access errors resulted from ACLs protected directories or not accessible reparse points, otherwise a will be thrown. + The counted number of files. - + + - Retrieves information about MS-DOS device names. - The function can obtain the current mapping for a particular MS-DOS device name. - The function can also obtain a list of all existing MS-DOS device names. + Deletes an existing directory. - The device. - An MS-DOS device name string specifying the target of the query. The device name cannot have a - trailing backslash. This parameter can be . In that case, the QueryDosDevice function - will return an array of all existing MS-DOS device names - See documentation on MSDN for the Windows QueryDosDevice() method for more information. - - + - Retreives a list of all existing MS-DOS device names. + Deletes an existing empty directory. - A list of all existing MS-DOS device names. - - This is equivalent to calling QueryDosDevice(null) - See documentation on MSDN for the Windows QueryDosDevice() method for more information. + The path of the directory to be removed. This path must specify an empty directory, and the calling process must have delete access to the directory. + is - + - Gets the shortest display name for the specified . + Deletes the specified directory and, if indicated, any subdirectories in the directory. - The volume name. - The shortest display name for the specified volume found, or if no display names were found. - is a reference - An error occured during a system call, such as the volume name specified was invalid or did not exist. - This method basically returns the shortest string returned by + The name of the directory to remove. + true to remove directories, subdirectories, and files in path; otherwise, false. - + - Retrieves a list of path names for the specified volume name. + Deletes the specified directory and, if indicated, any subdirectories in the directory. - The volume name. - An array containing the path names for the specified volume. - is a reference - The volume name specified was invalid, did not exist or was not ready. - For more information about this method see the MSDN documentation on GetVolumePathNamesForVolumeName(). + The name of the directory to remove. + true to remove all subdirectories and files recursively; otherwise, false only the top level empty directory. + if set to true overrides read only attribute of files and directories. - + - Determines whether the specified volume name is a defined volume on the current computer. + Deletes an existing empty directory as a transacted operation. - A string representing the path to a volume (eg. "C:\", "D:", "P:\Mountpoint\Backup", "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\"). A trailing backslash is required. - - true if the specified volume is a defined volume; otherwise, false. - - The trailing backslash is optional - is a reference - Upon error retreiving the volume name + + The path of the directory to be removed. + The path must specify an empty directory, and the calling process must have delete access to the directory. + The path of the directory to be removed. This path must specify an empty directory, and the calling process must have delete access to the directory. + The directory must reside on the local computer; otherwise, the function throws . + + The transaction to use + or is + The directory does not reside on the local computer. + The transaction object is not valid for this operation. - + + - Retrieves the unique volume name for the specified volume mount point or root directory. + Determines whether the given path refers to an existing directory on disk. - The path of a volume mount point (with or without a trailing backslash, "\") or a drive letter indicating a root directory (eg. "C:" or "D:\"). A trailing backslash is required. - The unique volume name of the form "\\?\Volume{GUID}\" where GUID is the GUID that identifies the volume. - is a reference - is an empty string - Upon error retreiving the volume name - See the MSDN documentation on the method GetVolumeNameForVolumeMountPoint() for more information. - - + - Retrieves the unique name of the volume mount point where the specified path is mounted. + Determines whether the given path refers to an existing directory on disk. - The input path. Both absolute and relative file and - directory names, for example ".", are acceptable in this path. - If you specify a relative directory or file name without a volume qualifier, - GetUniqueVolumeNameForPath returns the drive letter of the boot volume. A trailing backslash is required. - The unique name of the volume mount point where the specified path is mounted - See the MSDN documentation on the method GetVolumePathName() for more information. - is a reference - is an empty string - Upon error retreiving the volume name + The path to test. + true if path refers to an existing directory; otherwise, false. + Possible performance improvement may be achieved by utilizing FINDEX_SEARCH_OPS.FindExSearchLimitToDirectories. - + - Retreives the Win32 device name from the volume name + Determines whether the given path refers to an existing directory on disk as part of a transaction. - Name of the volume. A trailing backslash is not allowed. - The Win32 device name from the volume name + The transaction. + The path to test. + + true if path refers to an existing directory; otherwise, false. + - + + - Retrieves information about the amount of space that is available on a disk volume, - which is the total amount of space, the total amount of free space, and the total amount of - free space available to the user that is associated with the calling thread. + Gets a object that encapsulates the access control list (ACL) entries for a specified directory. - A directory on the disk. - If this parameter is NULL, the function uses the root of the current disk. - If this parameter is a UNC name, it must include a trailing backslash, for example, "\\MyServer\MyShare\". - This parameter does not have to specify the root directory on a disk. The function accepts any directory on a disk. - - The calling application must have FILE_LIST_DIRECTORY access rights for this directory. - - A object containing the requested information. - - + - Provides a concrete implementation of SafeHandle supporting transactions. + Gets a object that encapsulates the access control list (ACL) entries for the specified directory. + The path to a directory containing a object that describes the file's access control list (ACL) information. + A object that encapsulates the access control rules for the file described by the parameter. - + - Initializes a new instance of the class. + Gets a object that encapsulates the specified type of access control list (ACL) entries for a particular directory. + The path to a directory containing a object that describes the directory's access control list (ACL) information. + One (or more) of the values that specifies the type of access control list (ACL) information to receive. + A object that encapsulates the access control rules for the directory described by the parameter. - + + - When overridden in a derived class, executes the code required to free the handle. + Gets the creation date and time, in local time, of a directory. - - true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant. - - - + - The structure contains stream header data. + Gets the creation date and time, in local time, of a directory. - + The path of the directory. + A structure set to the creation date and time for the specified directory. This value is expressed in local time. - + + - Initializes a new instance of the class. + Gets the creation date and time, in Coordinated Universal Time (UTC) format, of a directory. - The stream ID. - The name. - - + - Gets the size of the data in the substream, in bytes. + Gets the creation date and time, in Coordinated Universal Time (UTC) format, of a directory. - The size of the data in the substream, in bytes. + The path of the directory. + A structure set to the creation date and time for the specified directory. This value is expressed in UTC time. - + + + Returns the date and time the specified file or directory was last accessed. + - Gets a string that specifies the name of the alternative data stream. + Returns the date and time the specified file or directory was last accessed. - A string that specifies the name of the alternative data stream. + The file or directory for which to obtain creation date and time information. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. - + - Gets the type of the data in the stream. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. - The type of the data in the stream. + The path. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. + + + + Returns the date and time the specified file or directory was last written to. + + + Returns the date and time the specified file or directory was last written to. + + The path. + A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. - + + + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. + - Gets the attributes of the data to facilitate cross-operating system transfer. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. - Attributes of the data to facilitate cross-operating system transfer. + The file or directory for which to obtain write date and time information. + A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. - + - Defines the access rights to use when creating access and audit rules. + Returns the creation date and time of the specified file or directory as part of a transaction. - - This enumeration has a attribute that allows a bitwise combination of its member values. - + The transaction to use. + The file or directory for which to obtain creation date and time information. + + A structure set to the creation date and time for the specified file or directory. This value is expressed in local time. + - + - Specifies the right to open and copy folders or files as read-only. This right includes the - right, right, right, - and right. + Returns the creation date and time, in coordinated universal time (UTC), of the specified file or directory as part of a transaction. + The file or directory for which to obtain creation date and time information. + The transaction to use. + A structure set to the creation date and time for the specified file or directory. This value is expressed in UTC time. - + - Specifies the right to create folders and files, and to add or remove data from files. This right includes the - right, right, right, and right. + Returns the date and time the specified file or directory was last accessed as part of a transaction. + The file or directory for which to obtain creation date and time information. + The transaction to use. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. - + - Specifies the right to open and copy folders or files as read-only, and to run application files. - This right includes the right and the right. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed as part of a transaction. + The path. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. + The transaction to use. - - - Specifies the right to read, write, list folder contents, delete folders and files, and run application files. - This right includes the right, the right, and the right. - + + + Returns the date and time the specified file or directory was last written to as part of a transaction. + + The path. + The transaction to use. + A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. - + - Specifies the right to open and copy a file or folder. This does not include the right to read file system attributes, extended file system attributes, or access and audit rules. + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to as part of a transaction. + The file or directory for which to obtain write date and time information. + The transaction to use. + A structure set to the date and time that the specified file or directory was last written. This value is expressed in UTC time. - + - Specifies the right to read the contents of a directory. + Gets the current working directory of the application. + A string containing the path of the current working directory. + The caller does not have the required permission. - + - Specifies the right to open and write to a file or folder. This does not include the right to open and write file system attributes, extended file system attributes, or access and audit rules. + Sets the application's current working directory to the specified directory. + The path to which the current working directory is set. + An IO error occurred. + is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars. + is + The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters. + The caller does not have the required permission to access unmanaged code. + The specified path was not found. + The specified directory was not found. - + - Specifies the right to create a file. + Applies access control list (ACL) entries described by a DirectorySecurity object to the specified directory. + Note that unlike this method does not automatically + determine what parts of the specified instance has been modified. Instead, the + parameter is used to specify what entries from to + apply to . + A directory to add or remove access control list (ACL) entries from. + A object that describes an ACL entry to apply to the directory described by the parameter. + One or more of the values that specifies the type of access control + list (ACL) information to set. - + + + Moves a file or a directory and its contents to a new location. + - Specifies the right to append data to the end of a file. + Moves a file or a directory and its contents to a new location. + The path of the file or directory to move. + The path to the new location for . If is a file, then must also be a file name. + For more options, see the Move methods of . - + - Specifies the right to create a folder. + Moves a file or a directory and its contents to a new location as part of a transaction. + The transaction. + The path of the file or directory to move. + The path to the new location for . If is a file, then must also be a file name. + For more options, see the Move methods of . - + - Specifies the right to open and copy extended file system attributes from a folder or file. For example, this value specifies the right to view author and content information. This does not include the right to read data, file system attributes, or access and audit rules. + Gets the names of subdirectories in the specified directory. + The directory to search. + + An array of type String containing the names of subdirectories in . + - + - Specifies the right to open and write extended file system attributes to a folder or file. This does not include the ability to write data, attributes, or access and audit rules. + Gets an array of directories matching the specified search pattern from the current directory. + The directory to search. + The search string to match against the names of directories in . The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + + A String array of directories matching the search pattern. Directory names include the full path. + - + + + Gets an array of directories contained within a directory or drive. + - Specifies the right to run an application file. + Gets an array of directories matching the specified search pattern from the current directory, using a value to determine whether to search subdirectories. + The directory to search. + The search string to match against the names of directories in . The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + One of the values that specifies whether the + search operation should include all subdirectories or only the current directory. + + A String array of directories matching the search pattern. Directory names include the full path. + + This method may consume a lot of memory if a large tree of files, directories and subdirectories + are searched. Consider using instead if possible. - + - Specifies the right to list the contents of a folder and to run applications contained within that folder. + Gets the names of subdirectories in the specified directory. The search is performed as part of a transaction. + The transaction. + The directory to search. + + An array of type String containing the names of subdirectories in . + - + - Specifies the right to delete a folder and any files contained within that folder. + Gets an array of directories matching the specified search pattern from the current directory. The search is performed as part of a transaction. + The transaction. + The directory to search. + The search string to match against the names of directories in . The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + + A String array of directories matching the search pattern. Directory names include the full path. + - + - Specifies the right to open and copy file system attributes from a folder or file. For example, this value specifies the right to view the file creation or modified date. This does not include the right to read data, extended file system attributes, or access and audit rules. + Gets an array of directories matching the specified search pattern from the current directory, + using a value to determine whether to search subdirectories. The search is performed as part of a transaction. + The transaction. + The directory to search. + The search string to match against the names of directories in . The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + One of the values that specifies whether the + search operation should include all subdirectories or only the current directory. + + A String array of directories matching the search pattern. Directory names include the full path. + + This method may consume a lot of memory if a large tree of files, directories and subdirectories + are searched. Consider using instead if possible. - + - Specifies the right to open and write file system attributes to a folder or file. This does not include the ability to write data, extended attributes, or access and audit rules. + Returns the names of files in the specified directory. + The directory from which to retrieve the files. + A String array of file names in the specified directory. - + - Specifies the right to delete a folder or file. + Returns the names of files in the specified directory that match the specified search pattern. + The directory to search. + The search string to match against the names of files in path. The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + A String array containing the names of files in the specified directory that match the specified search pattern. - + + + Retrieves the names of files contained within a directory. + - Specifies the right to open and copy access and audit rules from a folder or file. This does not include the right to read data, file system attributes, and extended file system attributes. + Returns the names of files in the specified directory that match the specified search pattern, using a + value to determine whether to search subdirectories. + The directory to search. + The search string to match against the names of files in path. The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + One of the values that specifies whether the + search operation should include all subdirectories or only the current directory. + A String array containing the names of files in the specified + directory that match the specified search pattern. File names include the full path. + This method may consume a lot of memory if a large tree of files, directories and subdirectories + are searched. Consider using instead if possible. - + - Specifies the right to change the security and audit rules associated with a file or folder. + Returns the names of files in the specified directory. The search will be performed as part of a transaction. + The transaction. + The directory from which to retrieve the files. + + A String array of file names in the specified directory. + - + - Specifies the right to change the owner of a folder or file. Note that owners of a resource have full access to that resource. + Returns the names of files in the specified directory that match the specified search pattern. The search will be performed as part of a transaction. + The transaction. + The directory to search. + The search string to match against the names of files in path. The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + + A String array containing the names of files in the specified directory that match the specified search pattern. + - + - Specifies whether the application can wait for a file handle to synchronize with the completion of an I/O operation. + Returns the names of files in the specified directory that match the specified search pattern, using a + value to determine whether to search subdirectories. The search will be performed as part of a transaction. + The transaction. + The directory to search. + The search string to match against the names of files in path. The parameter cannot + end in two periods ("..") or contain two periods ("..") followed by or + , nor can it contain any of the characters in . + One of the values that specifies whether the + search operation should include all subdirectories or only the current directory. + + A String array containing the names of files in the specified + directory that match the specified search pattern. File names include the full path. + + This method may consume a lot of memory if a large tree of files, directories and subdirectories + are searched. Consider using instead if possible. - + - Specifies the right to exert full control over a folder or file, and to modify access control and audit rules. - This value represents the right to do anything with a file and is the combination of all rights in this enumeration except - for + Returns the volume information, root information, or both for the specified path. + The path of a file or directory. + A string containing the volume information, root information, or both for the specified path. - + - The access right controls the ability to get or set the SACL in an object's security - descriptor. The system grants this access right only if the privilege is enabled in the - access token of the requesting thread (see ). + Returns the names of all files and subdirectories in the specified directory. + The directory for which file and subdirectory names are returned. + + A String array containing the names of file system entries in the specified directory. + - + - The file attributes of a file. + Returns an array of file system entries matching the specified search criteria. + The directory for which file and subdirectory names are returned. + The search string to match against the names of files in path. + The parameter cannot end in two periods ("..") or + contain two periods ("..") followed by or + , nor can it contain any of the characters in + . + + A String array containing the names of file system entries matching the specified pattern + in the specified directory. + - + - No attributes set. + Returns an array of file system entries matching the specified search criteria. + The directory for which file and subdirectory names are returned. + The search string to match against the names of files in path. + The parameter cannot end in two periods ("..") or + contain two periods ("..") followed by or + , nor can it contain any of the characters in + . + The search option. + + A String array containing the names of file system entries matching the specified pattern + in the specified directory. + - + - The file or directory is an archive file or directory. Applications use this attribute to mark files for backup or removal. + Returns the names of all files and subdirectories in the specified directory. + The file system entries are retrieved as part of a transaction. + The transaction. + The directory for which file and subdirectory names are returned. + + A String array containing the names of file system entries in the specified directory. + - + - The file or directory is compressed. - For a file, this means that all of the data in the file is compressed. - For a directory, this means that compression is the default for newly created files and subdirectories. + Returns the names of all files and subdirectories in the specified directory. + The file system entries are retrieved as part of a transaction. + The transaction. + The directory for which file and subdirectory names are returned. + The search pattern. + + A String array containing the names of file system entries in the specified directory. + - + - Reserved; do not use. + Returns an array of file system entries matching the specified search criteria. + The file system entries are retrieved as part of a transaction. + The transaction. + The directory for which file and subdirectory names are returned. + The search string to match against the names of files in path. + The parameter cannot end in two periods ("..") or + contain two periods ("..") followed by or + , nor can it contain any of the characters in + . + The search option. + + A String array containing the names of file system entries matching the specified pattern + in the specified directory. + - + + + Enumerates file system entries contained in a specified directory as instances. + - The handle identifies a directory. + Enumerates all file system entries as instances + in the specified . + This is a convenience method for using the for enumeration. + The directory path containing the file system entries to enumerate. + An enumerable containing the file system entries for the specified - + - The file or directory is encrypted. - For a file, this means that all data in the file is encrypted. - For a directory, this means that encryption is the default for newly created files and subdirectories. + Enumerates the file system entries in the specified matching + the specified as instances. + This is a convenience method for using the for enumeration. + The directory or path, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + The search string to match against the names of files in path. + The parameter cannot end in two periods ("..") or + contain two periods ("..") followed by or + , nor can it contain any of the characters in + . + An enumerable containing the file system entries for the specified - + - The file or directory is hidden. It is not included in an ordinary directory listing. + Enumerates all file system entries as instances + in the specified , optionally enumerating + directories only. + The directory or path, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + The search pattern. + The search option. + + An enumerable containing the file system entries for the specified + + This is a convenience method for using the for enumeration. - + - The file or directory does not have other attributes set. This attribute is valid only when used alone. + Enumerates the file system entries in the specified matching + the specified as instances, + optionally enumerating directories only. + The directory or path, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + The search string to match against the names of files in path. + The parameter cannot end in two periods ("..") or + contain two periods ("..") followed by or + , nor can it contain any of the characters in + . + if set to true enumerate only directories. + The search options. + + An enumerable containing the file system entries for the specified + + This is a convenience method for using the for enumeration. - + - The file is not to be indexed by the content indexing service. + Enumerates all file system entries as instances + in the specified as part of a transaction. + The transaction. + The directory or path containing the file system entries to enumerate. + + An enumerable containing the file system entries for the specified + + This is a convenience method for using the for enumeration. - + - The file data is not available immediately. - This attribute indicates that the file data is physically moved to offline storage. - This attribute is used by Remote Storage, which is the hierarchical storage management software. - Note Applications should not arbitrarily change this attribute. + Enumerates the file system entries in the specified matching + the specified as instances as part + of a transaction. + The transaction. + The directory or path, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + The search string to match against the names of files in path. + The parameter cannot end in two periods ("..") or + contain two periods ("..") followed by or + , nor can it contain any of the characters in + . + + An enumerable containing the file system entries for the specified + + This is a convenience method for using the for enumeration. - + - The file or directory is read-only. - For a file, applications can read the file, but cannot write to it or delete it. - For a directory, applications cannot delete it. + Enumerates all file system entries as instances + in the specified as part of a transaction, optionally enumerating + directories only. + The transaction. + The directory path + The search pattern. + The search option. + + An enumerable containing the file system entries for the specified + + This is a convenience method for using the for enumeration. - + - The file or directory has an associated reparse point. + Enumerates the file system entries in the specified matching + the specified as instances as part + of a transaction, optionally enumerating directories only. + The transaction. + The directory or path, and the file name, which can include + wildcard characters, for example, an asterisk (*) or a question mark (?). + The search string to match against the names of files in path. + The parameter cannot end in two periods ("..") or + contain two periods ("..") followed by or + , nor can it contain any of the characters in + . + if set to true enumerate only directories. + The search option. + + An enumerable containing the file system entries for the specified + + This is a convenience method for using the for enumeration. - + - The file is a sparse file. + Enumerates the file system entries in the specified matching entries + with the as instances. This method gives more control over + the progress and exception handling. + Optional kernel transaction object. Pass NULL for non-transacted call. + The directory path where to start enumeration. Use to get beyond 254 chars limit. + The search pattern prefix, wildcards, or a mixture. + Whether to search files in the specified directory only, or all subdirectories recursively. + if set to true [directories only]. + Optional enumeration exception handler. You can subscribe to exceptions and make decisions about them on the fly. + The list of exceptions to skip. Useful when dealing with protected directories. + - + - The file or directory is part of the operating system, or the operating system uses the file or directory exclusively. + Retrieves the parent directory of the specified path, including both absolute and relative paths. + The path for which to retrieve the parent directory. + The parent directory or a reference if the path is the root. - + - The file is being used for temporary storage. - File systems attempt to keep all of the data in memory for quick access, rather than flushing it back to mass storage. - An application should delete a temporary file as soon as it is not needed. + Gets the properties of the particular folder without following any symbolic links or mount points. + Properties include aggregated info from of each encountered file system object. + Plus additional ones: Total, File, Size, Error + Total: is the total number of enumerated objects. + File: is the total number of files. File is considered when object is neither nor . + Size: is the total size of enumerated objects. + Error: is the total number of errors encountered during request. + Directory: is an object which has attribute without one. + The transaction. For a non transacted operation pass NULL. + The target directory. + The search option. Either top level or subfolders too. + if set to true continue on errors. + A dictionary mapping the keys mentioned above to their respective aggregated values. - + - The file is a virtual file. + Enables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory. + The name of the directory for which to enable encryption. - + - Represents an invalid set of attributes. + Disables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory. + The name of the directory for which to disable encryption. - + - Defines constants for read, write, or read/write access to a file. - This enumeration has a attribute that allows a bitwise combination of its member values. + Retrieves information about files in the directory specified by . + + + No specific access rights is required to query this information. + + + File reference numbers, also called file IDs, are guaranteed to be unique only within a static file system. + They are not guaranteed to be unique over time, because file systems are free to reuse them. Nor are they guaranteed to remain constant. + For example, the FAT file system generates the file reference number for a file from the byte offset of the file's directory entry record + (DIRENT) on the disk. Defragmentation can change this byte offset. Thus a FAT file reference number can change over time. + + + Requires Windows Vista or Windows Server 2008 or later. + + + A path to a directory from which to retrieve information. + An enumeration of records for each file system entry in the specified diretory. - + - No access to the file. + Retrieves information about files in the directory specified by using the specified + + + No specific access rights is required to query this information. + + + File reference numbers, also called file IDs, are guaranteed to be unique only within a static file system. + They are not guaranteed to be unique over time, because file systems are free to reuse them. Nor are they guaranteed to remain constant. + For example, the FAT file system generates the file reference number for a file from the byte offset of the file's directory entry record + (DIRENT) on the disk. Defragmentation can change this byte offset. Thus a FAT file reference number can change over time. + + + Requires Windows Vista or Windows Server 2008 or later. + + + A path to a directory from which to retrieve information. + The transaction to use for this operation. + An enumeration of records for each file system entry in the specified diretory. - + - Read access to the file. Data can be read from the file. Combine with Write for read/write access. + Retrieves information about files in the directory specified by using the specified and + share mode. + + + No specific access rights is required to query this information. + + + File reference numbers, also called file IDs, are guaranteed to be unique only within a static file system. + They are not guaranteed to be unique over time, because file systems are free to reuse them. Nor are they guaranteed to remain constant. + For example, the FAT file system generates the file reference number for a file from the byte offset of the file's directory entry record + (DIRENT) on the disk. Defragmentation can change this byte offset. Thus a FAT file reference number can change over time. + + + Requires Windows Vista or Windows Server 2008 or later. + + + A path to a directory from which to retrieve information. + The transaction to use for this operation. + The sharing mode with which to open a handle to the directory. + An enumeration of records for each file system entry in the specified diretory. - + - Write access to the file. Data can be written to the file. Combine with Read for read/write access. + Retrieves information about files in the directory specified by using the specified + share mode. + + + No specific access rights is required to query this information. + + + File reference numbers, also called file IDs, are guaranteed to be unique only within a static file system. + They are not guaranteed to be unique over time, because file systems are free to reuse them. Nor are they guaranteed to remain constant. + For example, the FAT file system generates the file reference number for a file from the byte offset of the file's directory entry record + (DIRENT) on the disk. Defragmentation can change this byte offset. Thus a FAT file reference number can change over time. + + + Requires Windows Vista or Windows Server 2008 or later. + + + A path to a directory from which to retrieve information. + The sharing mode with which to open a handle to the directory. + An enumeration of records for each file system entry in the specified diretory. - + - Read and write access to the file. Data can be written to and read from the file. + Retrieves information about files in the directory handle specified. + + + No specific access rights is required to query this information. + + + File reference numbers, also called file IDs, are guaranteed to be unique only within a static file system. + They are not guaranteed to be unique over time, because file systems are free to reuse them. Nor are they guaranteed to remain constant. + For example, the FAT file system generates the file reference number for a file from the byte offset of the file's directory entry record + (DIRENT) on the disk. Defragmentation can change this byte offset. Thus a FAT file reference number can change over time. + + + Requires Windows Vista or Windows Server 2008 or later. + + + An open handle to the directory from which to retrieve information. + An enumeration of records for each file system entry in the specified diretory. diff --git a/thirdparty/alphavss/Bin/AlphaFS.dll b/thirdparty/alphavss/Bin/AlphaFS.dll old mode 100644 new mode 100755 index 7c0d96ca4..9f23f5354 Binary files a/thirdparty/alphavss/Bin/AlphaFS.dll and b/thirdparty/alphavss/Bin/AlphaFS.dll differ diff --git a/thirdparty/alphavss/Bin/AlphaFS.dll.config b/thirdparty/alphavss/Bin/AlphaFS.dll.config old mode 100644 new mode 100755 index b7db28170..73859b00e --- a/thirdparty/alphavss/Bin/AlphaFS.dll.config +++ b/thirdparty/alphavss/Bin/AlphaFS.dll.config @@ -1,3 +1,3 @@ - + - + diff --git a/thirdparty/alphavss/Bin/AlphaVSS.Common.dll b/thirdparty/alphavss/Bin/AlphaVSS.Common.dll old mode 100644 new mode 100755 index c07141ab9..6046ca342 Binary files a/thirdparty/alphavss/Bin/AlphaVSS.Common.dll and b/thirdparty/alphavss/Bin/AlphaVSS.Common.dll differ diff --git a/thirdparty/alphavss/Bin/AlphaVSS.Common.xml b/thirdparty/alphavss/Bin/AlphaVSS.Common.xml old mode 100644 new mode 100755 index 85c97b411..89ac2bd77 --- a/thirdparty/alphavss/Bin/AlphaVSS.Common.xml +++ b/thirdparty/alphavss/Bin/AlphaVSS.Common.xml @@ -4,13 +4,23 @@ AlphaVSS.Common - + - Exception thrown to indicate that the provider returned an unexpected error code. This can be a transient problem. + Exception indicating that the writer operation failed because of a time-out between the Freeze and Thaw events. The recommended way to + handle this error code is to wait ten minutes and then repeat the operation, up to three times. + + + + + Exception indicating that the writer failed due to an error that would likely not occur if the entire backup, restore, or + shadow copy creation process was restarted. The recommended way to handle this error is to wait ten minutes and then + repeat the operation, up to three times. - - It is recommended to wait ten minutes and try again, up to three times. - + + + + Base class for exceptions thrown to indicate errors reported by VSS writers. + @@ -42,108 +52,98 @@ The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Initializes a new instance of the class. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with the specified error message. - The message that describes the error + The error message. - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + Initializes a new instance of the class with the specified error message + and a reference to the inner exception that is the cause of this exception. - The message that describes the error - The exception that is the cause of the current exception. + The error message. + The inner exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class with serialized data. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Exception thrown to indicate that the XML document is not valid. Check the event log for details. - + The parameter is . + The class name is or is zero (0). - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Initializes a new instance of the class. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class. The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + Initializes a new instance of the class. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Exception thrown to indicate that the system was unable to hold I/O writes. - - - This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - + + The parameter is . + + + The class name is or is zero (0). + - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Initializes a new instance of the class. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class. The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + Initializes a new instance of the class. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + + The parameter is . + + + The class name is or is zero (0). + The enumeration specifies how the host system uses the data managed by a writer involved in a VSS operation. @@ -165,4126 +165,4220 @@ Unclassified data. - + - Representation of information on a partial file associated with a component. + + The enumeration is used by a writer at restore time to + indicate how all the files included in a selected component, and all the files in any + component set it defines, are to be restored. + + + Setting a restore target modifies or overrides the restore method set during backup (see ). + - See MSDN documentation on IVssComponent::GetPartialFile Method for more information. + For more information see the MSDN documentation on the VSS_RESTORE_TARGET enumeration. - - Initializes a new instance of the class - The path of the partial file. - The name of the partial file. - Either a listing of file offsets and lengths that make up the partial file support range - (the sections of the file that were backed up), or the name of a file containing such a list. - Any additional metadata required by a writer to validate a partial file restore operation. The information in this - metadata string will be opaque to requesters. May be + + + No target is defined. + This value indicates an error on the part of the writer. + - + - - The path of the partial file. + + This is the default restore target. - Users of this public need to check to determine whether this path ends with a backslash ("\"). + This value indicates that the restoration of the files included in a selected component + (or the component set defined by that component) should proceed according to the original + restore method specified at backup time by a value. - - The name of the partial file. - - + - Either a listing of file offsets and lengths that make up the partial file support range - (the sections of the file that were backed up), or the name of a file containing such a list. + + The files are restored to a location determined from an existing alternate location mapping. + + + The restore target should be set to only when + alternate location mappings have been set for all the files managed by + a selected component or component set. + - + - Any additional metadata required by a writer to validate a partial file restore operation. The information in this - metadata string will be opaque to requesters. + Use directed targeting by the writer at restore time to restore a file. - Additional metadata is not required, so may also be empty (zero length). + Directed targeting allows a writer to control, on a file-by-file basis, how a file is + restored—indicating how much of a file is to be restored and into which files the backed-up file is to be restored. - + - A strongly-typed resource class, for looking up localized strings, etc. + + The files are restored to the location at which they were at backup time, even if the original restore + method that was specified at backup time was . + + + Windows Server 2003 and Windows XP: This value is not supported. + - + - Returns the cached ResourceManager instance used by this class. + Exception indicating that the writer ran out of memory or other system resources. + The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. - + - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. + Initializes a new instance of the class. - + - Looks up a localized string similar to An unexpected error occurred during communication with writers.. + Initializes a new instance of the class. + The message that describes the error - + - Looks up a localized string similar to Expected provider error. Check the event log for details.. + Initializes a new instance of the class. + The message that describes the error + The exception that is the cause of the current exception. - + - Looks up a localized string similar to Invalid XML document. Check the event log for details.. + Initializes a new instance of the class. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + - + - Looks up a localized string similar to The maximum number of shadow copy storage areas has been added to the shadow copy source volume.. + Represents information about how a writer wants its data to be restored. + This class is a container for the data returned by . - + - Looks up a localized string similar to This method is not supported until Windows Server 2003. + Initializes a new instance of the class. + The restore method. + The service. + The user procedure. + The writer restore. + if set to true a reboot is required. + The mappings. + This constructor is normally not used by application code. Rather instances of are + returned by various query methods. - + - Looks up a localized string similar to The requested operation is not supported on the current operating system.. + A value that specifies file overwriting, the use of alternate locations specifying the method that + will be used in the restore operation. - + - Looks up a localized string similar to System was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + If the value of is , a pointer to a string containing the name + of the service that is started and stopped. Otherwise, the value is . - + - Looks up a localized string similar to The creation of a shadow copy is already in progress.. + Pointer to the URL of an HTML or XML document describing to the user how the restore is to be performed. The value may be . - + - Looks up a localized string similar to The maximum number of volumes has already been added to the shadow copy set.. + A value specifying whether the writer will be involved in restoring its data. - + + A indicating whether a reboot will be required after the restore operation is complete. + if a reboot will be required and if it will not. + + + The number of alternate mappings associated with the writer. + + - Looks up a localized string similar to The operation is not supported under the current context.. + The class 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). + + The following methods return a instance: + + + + + + + + + + - + - Looks up a localized string similar to The provider encountered an error that requires the user to restart the computer.. + Initializes a new instance of the class. + The alternate location. + The backup type mask. + The file specification. + The path. + if set to true this file description is recursive. - + - Looks up a localized string similar to The provider returned an unexpected error code.. + Obtains the alternate backup location of the component files. - + - Looks up a localized string similar to The requested identifier does not correspond to a registered provider.. + Obtains the file backup specification for a file or set of files. + Windows XP: This value is not supported in Windows XP and will always return - + - Looks up a localized string similar to The requested object does not exist.. + Obtains the file specification for the list of files provided. - + - Looks up a localized string similar to The requested object was a duplicate.. + Obtains the fully qualified directory path for the list of files provided. - + - Looks up a localized string similar to The system or provider has insufficient storage space. If possible delete any old or unnecessary persistent shadow copies and try again.. + Determines whether only files in the root directory or files in the entire directory hierarchy are considered for backup. + VSS API reference: IVssWMFiledesc::GetRecursive() - + - Looks up a localized string similar to The system was unable to flush I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times.. + Represents a component-level error reported by writers. - + - Looks up a localized string similar to The system was unable to hold I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + Initializes a new instance of the class. + The error code. + The application error code. + The application message. - + - Looks up a localized string similar to The volume already has a revert in progress.. + Gets the HRESULT failure code that the writer passed for the hr parameter of the IVssComponentEx2::SetFailure method. - + - Looks up a localized string similar to The volume does not support the requested operation, or no provider supports it.. + Gets the additional error code if provided by the writer. - + - Looks up a localized string similar to The volume has already been added to the maximum number of shadow copy sets.. + Gets an error message for the requester to display to the end user. The writer is responsible for localizing this string if necessary before using it in this method. This parameter is optional and can be or an empty string. - + - Looks up a localized string similar to The volume is not supported by the specified provider.. + A strongly-typed resource class, for looking up localized strings, etc. - + - Looks up a localized string similar to The volume was in use and could not be locked.. + Returns the cached ResourceManager instance used by this class. - + - Looks up a localized string similar to The VSS object was in an incorrect state for the requested operation.. + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. - + - Looks up a localized string similar to The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log.. + Looks up a localized string similar to AlphaVSS requires at least Windows XP.. - + - Looks up a localized string similar to This operation requires {0}{1}. Detected operating system was: {2}{3}.. + Looks up a localized string similar to Another LUN resynchronization operation is already in progress.. - + - Looks up a localized string similar to This operation requires {0}{1} or later. Detected operating system was: {2}{3}.. + Looks up a localized string similar to An unexpected error occurred. The error code is logged in the error log file.. - + - Looks up a localized string similar to This operation requires {0}. Detected operating system was: {1}.. + Looks up a localized string similar to An unexpected error occurred during communication with writers.. - + - Looks up a localized string similar to This operation requires {0} or later. Detected operating system was: {1}.. + Looks up a localized string similar to Deletion of snapshot failed. See inner exception for details. . - + - Looks up a localized string similar to This operation requires {0} with at least Service Pack {1}. Detected operating system was: {2}{3}.. + Looks up a localized string similar to Deletion of snapshots failed. - + - Looks up a localized string similar to This operation requires {0} with at least Service Pack {1}, or {2} with at least service pack {3}. Detected operating system was: {4}{5}.. + Looks up a localized string similar to Expected provider error. Check the event log for details.. - + - Looks up a localized string similar to Unexpected system error.. + Looks up a localized string similar to Failed to detect architecture of running operating system.. - + - - Interface containing methods for examining and modifying information about components contained in a requester's Backup Components Document. - + Looks up a localized string similar to IA64 architecture is not supported.. - - - objects can be obtained only for those components that have been explicitly added - to the Backup Components Document during a backup operation by the - method. - - - Information about components explicitly added during a restore operation using - are not available through the - interface. - - - For more information, see the MSDN documentation on - the IVssComponent Interface. - - - + - The is used by a writer during incremental or differential restore - operations to determine whether a given component will require additional restore operations to completely retrieve it, - but can also be called by a requester. + Looks up a localized string similar to Invalid XML document. Check the event log for details.. - - If , additional restores will occur for the - current component. If , additional restores will not occur. - - + - - The backup options specified to the writer that manages the currently selected component or component set - by a requester using . - + Looks up a localized string similar to The maximum number of shadow copy storage areas has been added to the shadow copy source volume.. - The backup options for the current writer. - - The backup stamp string stored by a writer for a given component. - The backup stamp indicating the time at which the component was backed up. + + + Looks up a localized string similar to The requested operation is not supported on the current operating system.. + - + - The status of a complete attempt at backing up all the files of a selected component or component set as a - enumeration. + Looks up a localized string similar to System was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). - - if the backup was successful and if it was not. - - - The logical name of this component. - The logical name of this component. + + + Looks up a localized string similar to The creation of a shadow copy is already in progress.. + - - The type of this component in terms of the enumeration. - The type of this component. + + + Looks up a localized string similar to The maximum number of volumes has already been added to the shadow copy set.. + - + - The status of a completed attempt to restore all the files of a selected component or component set - as a enumeration. + Looks up a localized string similar to The operation is not supported under the current context.. - - A value of the enumeration that specifies whether all files were successfully restored. - - - The logical path of this component. - The logical path of this component. + + + Looks up a localized string similar to The provider encountered an error that requires the user to restart the computer.. + - - The failure message generated by a writer while handling the PostRestore event if one was set. - The failure message that describes an error that occurred while processing the PostRestore event. + + + Looks up a localized string similar to The provider returned an unexpected error code.. + - - The failure message generated by a writer while handling the PreRestore event if one was set. - The failure message that describes an error that occurred while processing the PreRestore event. + + + Looks up a localized string similar to The requested identifier does not correspond to a registered provider.. + - + - A previous backup stamp loaded by a requester in the Backup Components Document. The value is used by a writer when - deciding if files should participate in differential or incremental backup operation. + Looks up a localized string similar to The requested object does not exist.. - - The time stamp of a previous backup so that a differential or incremental backup can be correctly implemented. - - - The restore options specified to the current writer by a requester using - . - The restore options of the writer. + + + Looks up a localized string similar to The requested object was a duplicate.. + - - The restore target (in terms of the enumeration) for the current component. Can only be called during a restore operation. - A value from the enumeration containing the restore target information. + + + Looks up a localized string similar to The system or provider has insufficient storage space. If possible delete any old or unnecessary persistent shadow copies and try again.. + - - Determines whether the current component has been selected to be restored. - If the returned value of this parameter is , the component has been selected to be restored. If , it has not been selected. + + + Looks up a localized string similar to The system was unable to flush I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times.. + - - A collection of mapping information for the file set's alternate location for file restoration. - A read-only list containing the alternate location to which files were actually restored. This list must not be accessed after the from which it was obtained has been disposed. - See the MSDN documentation on the IVssComponent::GetAlternateLocationMapping method for more information. + + + Looks up a localized string similar to The system was unable to hold I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + - + - Information stored by a writer, at backup time, to the Backup Components Document to indicate that when a file is to be - restored, it (the source file) should be remapped. The file may be restored to a new restore target and/or ranges of its data - restored to different locations with the restore target. + Looks up a localized string similar to The volume already has a revert in progress.. - A read-only list containing the directed targets of this component. This list must not be accessed after the from which it was obtained has been disposed. - + - The new file restoration locations for the selected component or component set. + Looks up a localized string similar to The volume does not support the requested operation, or no provider supports it.. - A read-only list contianing the new file restoration locations for the selected component or component set. This list must not be accessed after the from which it was obtained has been disposed. - + - Information about any partial files associated with this component. + Looks up a localized string similar to The volume has already been added to the maximum number of shadow copy sets.. - A read-only list containing information about any partial files associated with this component. This list must not be accessed after the from which it was obtained has been disposed. - + - Information about the file sets (specified file or files) to participate in an incremental or differential backup or restore as a - differenced file — that is, backup and restores associated with it are to be implemented as if entire files are copied to and from - backup media (as opposed to using partial files). + Looks up a localized string similar to The volume is not supported by the specified provider.. - Windows XP: This method requires Windows Server 2003 or later - - A read only list containing the diffrenced files associated with this component. This list must not be accessed after the from which it was obtained has been disposed. - - - The subcomponents associated with this component. - A read only list containing the subcomponents associated with this component. This list must not be accessed after the from which it was obtained has been disposed. + + + Looks up a localized string similar to The volume was in use and could not be locked.. + - + - Gets a value indicating whether a requester has marked the restore of a component as authoritative for a replicated data store. + Looks up a localized string similar to The VSS object was in an incorrect state for the requested operation.. - - if the restore is authoritative; otherwise, . - - - - A writer indicates that it supports authoritative restore by setting the - flag in its backup schema mask. - - - For more information, see Setting VSS Restore Options. - - - - - Windows XP and Windows 2003: This property requires Windows Vista or later and will always return - on unsupported operating systems. - - - - - + - Gets the PostSnapshot failure message string that a writer has set for a given component. + Looks up a localized string similar to The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log.. - - - Both writers and requesters can call this method. - - - - - Windows XP and Windows 2003: This property requires Windows Vista or later and will always return - on unsupported operating systems. - - - - - A string containing the failure message that describes an error that occurred while processing a PostSnapshot event, or - if no value was set or the method is not supported on the current operating system. - + - Gets the PrepareForBackup failure message string that a writer has set for a given component. + Looks up a localized string similar to The writer is not responding.. - A string containing the failure message that describes an error that occurred while processing a PrepareForBackup event, - or if no failure message was set for this component, or if the property is not supported on the - current operating system. - - - Both writers and requesters can call this method. - - - - - Windows XP and Windows 2003: This property requires Windows Vista or later and will always return - on unsupported operating systems. - - - - - + - Obtains the logical name assigned to a component that is being restored. + Looks up a localized string similar to This operation requires {0}{1}. Detected operating system was: {2}{3}.. - - A string containing the restore name for the component, or if the operation - is not supported on the current operating system. - - - - The property can only be accessed during a restore operation. - - - A writer indicates that it supports this method by setting the - flag in its backup schema mask. - - - For more information, see - Setting VSS Restore Options. - - - - - Windows XP and Windows 2003: This property requires Windows Vista or later and will always return - on unsupported operating systems. - - - - - + - Obtains the restore point for a partial roll-forward operation. + Looks up a localized string similar to This operation requires {0}{1} or later. Detected operating system was: {2}{3}.. - - A string specifying the roll-forward restore point, - or if the property is not supported in the current context. - - - - The property can only be accessed during a restore operation. - - - A writer indicates that it supports this method by setting the - flag in its backup schema mask. - - - For more information, see - Setting VSS Restore Options. - - - - - Windows XP and Windows 2003: This property requires Windows Vista or later and will always return - on unsupported operating systems. - - - - - + - Obtains the roll-forward operation type for a component. + Looks up a localized string similar to This operation requires {0}. Detected operating system was: {1}.. - - A enumeration value indicating the type of roll-forward operation to be performed, - or if the property is not supported in the current context. - - - - The property can only be accessed during a restore operation. - - - A writer indicates that it supports this method by setting the - flag in its backup schema mask. - - - For more information, see - Setting VSS Restore Options. - - - - - Windows XP and Windows 2003: This property requires Windows Vista or later and will always return - on unsupported operating systems. - - - - - + - Exception thrown to indicate that the volume does not support the requested operation, or that no provider supports it. + Looks up a localized string similar to This operation requires {0} or later. Detected operating system was: {1}.. - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Looks up a localized string similar to This operation requires {0} with at least Service Pack {1}. Detected operating system was: {2}{3}.. - + - Initializes a new instance of the class with a specified error message. + Looks up a localized string similar to This operation requires {0} with at least Service Pack {1}, or {2} with at least service pack {3}. Detected operating system was: {4}{5}.. - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + Looks up a localized string similar to This version of the hardware provider does not support this operation.. - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Looks up a localized string similar to Unexpected system error.. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - + - Exception thrown to indicate that the requested identifier does not correspond to a registered provider. + Looks up a localized string similar to The requested method is not supported on the current operating system, or the loaded assembly is targeted for a different operating system than the one on which it is running.. - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Looks up a localized string similar to The MBR signature or GPT ID for one or more disks could not be set to the intended value. Check the Application event log for more information.. - + - Initializes a new instance of the class with a specified error message. + Looks up a localized string similar to The shadow copy contains only a subset of the volumes needed by the writer to correctly back up the application component.. - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + Looks up a localized string similar to The writer operation failed because of an error that might recur if another shadow copy is created.. - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Looks up a localized string similar to The writer ran out of memory or other system resources.. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - + - Exception thrown to indicate that the volume has been added to the maximum number of shadow copy sets. - The specified volume was not added to the shadow copy set. + Looks up a localized string similar to The writer is reporting one or more component-level errors.. - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Looks up a localized string similar to The writer failed due to an error that would likely not occur if the entire backup, restore, or shadow copy creation process was restarted. - + - Initializes a new instance of the class with a specified error message. + Looks up a localized string similar to The specified snapshot specifies a shadow copy that does not exist in the Backup Components Document.. - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + Looks up a localized string similar to The writer operation failed because of a time-out between the Freeze and Thaw events.. - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Looks up a localized string similar to The resynchronization destination contained a volume that was not explicitly included.. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - + - Exception thrown to indicate that the requested deletion of snapshots did not complete successfully. - - - To get further information about the cause of the error, check the inner exception which is populated with the - original exception that caused the deletion to fail. - + Looks up a localized string similar to Writer status is not available for one or more writers. A writer may have reached the maximum number of available backup and restore sessions.. + - + - Initializes a new instance of the class. + Exception class indicating that an unexpected error occured. The error code is logged in the error log file. - + - Initializes a new instance of the class with the specified error message. + Initializes a new instance of the class. - The error message. - + - Initializes a new instance of the class with the specified error message and a reference - to the exception causing this exception to be thrown. + Initializes a new instance of the class with the specified error message. The error message. - The inner exception. - + - Initializes a new instance of the class, specifying the number of - successfully deleted snapshots, the id of the snapshot on which the delete operation failed and the exception - causing the delete operation to fail. + Initializes a new instance of the class with the specified error message + and a reference to the inner exception that is the cause of this exception. - The number of successfully deleted snapshots. - The id of the non deleted snapshot, or if such information is not available. + The error message. The inner exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class with serialized data. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - + + The enumeration indicates the current state of the writer. + A requester determines the state of a writer through . - - - Gets the number of successfully deleted snapshots. - - The number of successfully deleted snapshots. + + The writer's state is not known.This indicates an error on the part of the writer. - - - Gets the non id of the snapshot that failed to be deleted. - - The id of the snapshot that could not be deleted. + + The writer has completed processing current shadow copy events and is ready to proceed, or CVssWriter::OnPrepareSnapshot has not yet been called. - - - The enumeration defines the set of statuses of a file restore operation performed on - the files managed by a selected component or component set. - - - See MSDN documentation on VSS_FILE_RESTORE_STATUS for more information. - + + The writer is waiting for the freeze state. - - - - The restore state is undefined. - - - This value indicates an error, or indicates that a restore operation has not yet started. - - + + The writer is waiting for the thaw state. - - - - No files were restored. - - - This value indicates an error in restoration that did not leave any restored files on disk. - - + + The writer is waiting for the PostSnapshot state. - - - All files were restored. This value indicates success and should be set for each component that was restored successfully. - + + The writer is waiting for the requester to finish its backup operation. - - - - The restore process failed. - - - This value indicates an error in restoration that did leave some restored files on disk. This means the components on disk are now corrupt. - - + + The writer vetoed the shadow copy creation process at the writer identification state. - - - The enumeration is used by writers to indicate support for auto-recovery. - - For more information see MSDN documentation on VSS_COMPONENT_FLAGS Enumeration + + The writer vetoed the shadow copy creation process during the backup preparation state. - - - - The writer will need write access to this component after the shadow copy has been created. - - - This flag is incompatible with . - - - - - - - If this is a rollback shadow copy ( enumeration value of - ), the writer for this component will need - write access to this component after the shadow copy has been created. - - - This flag is incompatible with . - - - - - - - This component is not part of system state. - - - Windows Server 2003: This value is not supported until Windows Vista. - - + + The writer vetoed the shadow copy creation process during the PrepareForSnapshot state. - - - The class specifies shadow copy provider properties. - + + The writer vetoed the shadow copy creation process during the freeze state. - - - Initializes a new instance of the class. - - The provider id. - Name of the provider. - Type of the provider. - The provider version. - The provider version id. - The class id. + + The writer vetoed the shadow copy creation process during the thaw state. - - Identifies the provider who supports shadow copies of this class. + + The writer vetoed the shadow copy creation process during the PostSnapshot state. - - The provider name. + + The shadow copy has been created and the writer failed during the BackupComplete state. + A writer should save information about this failure to the error log. - - The provider type. See for more information. + + The writer failed during the PreRestore state. - - The provider version in readable format. + + The writer failed during the PostRestore state. - - A uniquely identifying the version of a provider. + + The writer failed during the shutdown of the backup application. - - Class identifier of the component registered in the local machine's COM catalog. + + The enumeration is used by a writer to indicate the types of backup operations it can participate in. + The supported kinds of backup are expressed as a bit mask (or bitwise OR) of values. + + + + Windows XP: This enumeration is not available until Windows Server 2003 or later. + + + + Writer set their backup schemas with calls to IVssCreateWriterMetadata.SetBackupSchema". + + + Requesters use to determine the backup schema that a writer supports. + + + For a specific kind of backup operation to be supported, the writer must support the corresponding schema, and the + requester must set the corresponding backup type. + + + For example, to involve a writer in an incremental backup operation, the requester must set the backup type to + , and the writer should have a backup schema that includes . + + + A writer that does not support the backup schema corresponding to a requester's backup type should treat the backup operation + that is being performed as if it were a default (full) backup. If the desired backup type is not supported by the writer's + backup schema, the requester can either perform a full backup for this writer or exclude the writer from the backup operation. + A requester can exclude a writer by selecting none of the writer's components, or by disabling the writer + (see or + ). + + - + - The structure describes a shadow copy storage area volume. + The writer supports a simple full backup and restoration of entire files (as defined by a value of ). + This backup scheme can be used as the basis of an incremental or differential backup. This is the default value. - + - Initializes a new instance of the class. + The writer supports differential backups (corresponding to the value ). + Files created or changed since the last full backup are saved. Files are not marked as having been backed up. This setting does not preclude mixing of incremental and differential backups. - Name of the volume. - Display name of the volume. - The volume free space. - The volume total space. - + - Gets the shadow copy storage area volume name, in \\?\Volume{GUID}\ format. + The writer supports incremental backups (corresponding to the value ). Files created or changed since the last full or incremental backup are saved. Files are marked as having been backed up. This setting does not preclude mixing of incremental and differential backups. - The shadow copy storage area volume name, in \\?\Volume{GUID}\ format. - + - Gets a string that can be displayed to a user, for example C:\, for the shadow copy storage area volume. + The writer supports both differential and incremental backup schemas, but only exclusively: for example, you cannot follow a differential backup with an incremental one. + A writer cannot support this schema if it does not support both incremental and differential schemas ( | ). - A string that can be displayed to a user, for example C:\, for the shadow copy storage area volume. - + - Gets the free space, in bytes, on the shadow copy storage area volume. + The writer supports backups that involve only the log files it manages (corresponding to a value of ). - The free space, in bytes, on the shadow copy storage area volume. - + - Gets the total space, in bytes, on the shadow copy storage area volume. + Similar to the default backup schema (), the writer supports copy backup operations + (corresponding to ) where file access information (such as information as to when a file was + last backed up) will not be updated either in the writer's own state information or in the file system information. This type of + backup cannot be used as the basis of an incremental or differential backup. - The total space, in bytes, on the shadow copy storage area volume.. - + + + + A writer supports using the VSS time-stamp mechanism when evaluating if a file should be included in + differential or incremental operations (corresponding to and + , respectively) using the , + setters, and the method. + + + A writer cannot support this schema if it does not support either differential or incremental backup schemas + ( or ). + + + + + - Exception thrown to indicate that the maximum number of volumes has been added to the shadow copy set. - The specified volume was not added to the shadow copy set. + + When implementing incremental or differential backups with differenced files, a writer can provide last modification + time information for files (using IVssComponent.AddDifferencedFileByLastModifyTime). + A requester then can use to obtain candidate files and information + about their last modification data. The requester can use this information (along with any records about + previous backup operations it maintains) to decide if a file should be included in incremental and differential backups. + + + This scheme does not apply to partial file implementations of incremental and differential backup operations. + + + A writer cannot support this schema if it does not support either incremental or differential backup + schemas ( or . + - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Reserved for system use. - + - Initializes a new instance of the class with a specified error message. - - The message that describes the error + The writer supports a requester changing the target for file restoration using + . + - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + + The writer supports running multiple writer instances with the same class ID, and it supports a + requester moving a component to a different writer instance at restore time using + . + + + Windows Server 2003: This value is not supported until Windows Server 2003 SP1. + - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + + The writer supports backing up data that is part of the system state, but that can also + be backed up independently of the system state. + + + Windows Server 2003: This value is not supported until Windows Vista. + - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - + - Exception class indicating that the vss object referenced was not in a correct state for the requested operation. + + The writer supports a requester setting a roll-forward restore point using . + + + Windows Server 2003: This value is not supported until Windows Vista. + - + - Initializes a new instance of the class. + + The writer supports a requester setting a restore name using . + + + Windows Server 2003: This value is not supported until Windows Vista. + - + - Initializes a new instance of the class with the specified error message. + + The writer supports a requester setting authoritative restore using . + + + Windows Server 2003: This value is not supported until Windows Vista. + - The error message. - + - Initializes a new instance of the class with the specified error message - and a reference to the inner exception that is the cause of this exception. + + The writer supports multiple unsynchronized restore events. + + + Windows Vista and Windows Server 2003: This value is not supported until Windows Server 2008. + - The error message. - The inner exception. - + - Initializes a new instance of the class with serialized data. + Contains information about a volume's shadow copy protection level. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - The enumeration indicates the current state of the writer. - A requester determines the state of a writer through . - - - The writer's state is not known.This indicates an error on the part of the writer. - - - The writer has completed processing current shadow copy events and is ready to proceed, or CVssWriter::OnPrepareSnapshot has not yet been called. - - - The writer is waiting for the freeze state. - - - The writer is waiting for the thaw state. - - - The writer is waiting for the PostSnapshot state. - - - The writer is waiting for the requester to finish its backup operation. - - - The writer vetoed the shadow copy creation process at the writer identification state. - - - The writer vetoed the shadow copy creation process during the backup preparation state. - - - The writer vetoed the shadow copy creation process during the PrepareForSnapshot state. - - - The writer vetoed the shadow copy creation process during the freeze state. - - - The writer vetoed the shadow copy creation process during the thaw state. - - - The writer vetoed the shadow copy creation process during the PostSnapshot state. - - - The shadow copy has been created and the writer failed during the BackupComplete state. - A writer should save information about this failure to the error log. - - - The writer failed during the PreRestore state. - - - The writer failed during the PostRestore state. - - - The writer failed during the shutdown of the backup application. - - + - The enumeration enables a requester using to specify how a - shadow copy is to be created, queried, or deleted and the degree of writer involvement. - ::SetContext" method) may be modified by a bitmask that contains a valid combination of - and enumeration values. + Initializes a new instance of the class. - is defined as a static class defining the base - combination of values representing the VSS_CTX_XXXXXX constants defined in the VSS API. - - - - - - The standard backup context. Specifies an auto-release, nonpersistent shadow copy in which writers are involved in the creation. - + The protection level. + if set to true the volume is offline for protection. + The protection fault. + The failure status. + if set to true the volume has unused diff area. - + - Specifies a nonpersistent and auto-release shadow copy created without writer involvement. + Gets the target protection level for the volume. + The target protection level for the volume. - + - Specifies a persistent and non-auto-release shadow copy without writer involvement. This context should be used when there is no need for writer involvement to ensure that files are in a consistent state at the time of the shadow copy. - Lightweight automated file rollback mechanisms or persistent shadow copies of file shares or data volumes that are not expected to contain any system-related files or databases might run under this context. For example, a requester could use this context for creating a shadow copy of a NAS volume hosting documents and simple user shares. Those types of data do not need writer involvement to create a consistent shadow copy. + Gets a value indicating whether the volume is offline due to a protection fault. + + true if the volume is offline due to a protection fault; otherwise, false. + - + - Specifies a persistent and non-auto-release shadow copy with writer involvement. This context is designed to be used when writers are needed to ensure that files are in a well-defined state prior to shadow copy. - Automated file rollback mechanisms of system volumes and shadow copies to be used in data mining or restore operations might run under this context. This context is similar to VSS_CTX_BACKUP but allows a requester more control over the persistence of the shadow copy. + Gets a value that describes the shadow copy protection fault that caused the volume to go offline. + A value that describes the shadow copy protection fault that caused the volume to go offline. - + - Specifies a read-only, client-accessible shadow copy supporting Shadow Copies for Shared Folders and created without writer involvement. Only the system provider (the default provider available on the system) can create this type of shadow copy. - Most requesters will want to use the context for persistent, non-auto-release shadow copies without writer involvement. + Gets the internal failure status code. + The internal failure status code. - + - Specifies a read-only, client-accessible shadow copy supporting Shadow Copies for Shared Folders and created with writer involvement. Only the system provider (the default provider available on the system) can create this type of shadow copy. - Most requesters will want to use the context for persistent, non-auto-release shadow copies with writer involvement. - Windows Server 2003 and Windows XP: This context is not supported by Windows Server 2003 and Windows XP. + Gets a value indicating whether the volume has unused shadow copy storage area files or not. + + true if the volume has unused shadow copy storage area files; otherwise, false. + - + - All types of currently live shadow copies are available for administrative operations, such as shadow copy queries - (see the Query method in ). is a valid context for all VSS interfaces except - ::StartSnapshotSet and ::DoSnapshotSet. + IVssImplementation provides an interface to the global methods of the VSS API compiled for a specific + platform. + + An instance of IVssImplementation can be obtained either by using the factory methods of + for dynamically loading the suitable assembly containing the correct implementation (preferred), + or by statically referencing the correct platform-specific assembly and manually creating an instance of VssImplementation + from that assembly. + + - + - The enumeration indicates the type of backup to be performed using VSS writer/requester - coordination. + The CreateVssBackupComponents method creates an interface object + for the current implementation and returns a reference to it. - For more information see MSDN documentation on - VSS_BACKUP_TYPE Enumeration + The calling application is responsible for calling Dispose" to release the + resources held by the instance when it is no longer needed. + A reference to the newly created instance. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + - + + + The IsVolumeSnapshotted function determines whether any shadow copies exist for the specified volume. + + + Use to determine whether certain volume control or file I/O operations are + disabled for the given volume if a shadow copy of it exists. + + + Name of the volume. The name of the volume to be checked must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) + + + true if the volume has a shadow copy, and false if the volume does not have a shadow copy. + One of the parameters is not valid. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + Expected provider error. The provider logged the error in the event log. + The specified volume was not found. + Unexpected provider error. The error code is logged in the event log file. + + + Determines whether certain volume control or file I/O operations are disabled for the given volume if a shadow copy of it exists. + + + Name of the volume. The name of the volume to be checked must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) + + + + A bit mask (or bitwise OR) of values that indicates whether certain + volume control or file I/O operations are disabled for the given volume if a shadow copy of it exists. + + - The backup type is not known. + Use to determine whether a snapshot exists for the specified volume or not. - This value indicates an application error. - - + If no volume control or file I/O operations are disabled for the selected volume, then the shadow copy capability of the + selected volume returned will . + + + + One of the parameters is not valid. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + Expected provider error. The provider logged the error in the event log. + The specified volume was not found. + Unexpected provider error. The error code is logged in the event log file. - + - Full backup: all files, regardless of whether they have been marked as backed up or not, are saved. This is the default backup type and schema, and all writers support it. - Each file's backup history will be updated to reflect that it was backed up. + Checks the registry for writers that should block revert operations on the specified volume. + + The name of the volume. The name must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) + + + + if the volume contains components from any writers that are listed in the registry as writers that should block + revert operations; otherwise, + - + - - Incremental backup: files created or changed since the last full or incremental backup are saved. Files are marked as having been backed up. - - - A requester can implement this sort of backup on a particular writer only if it supports the schema. - - - If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. - + The CreateVssExamineWriterMetadata function creates a new instance from an + XML document for the current implementation. + A string containing a Writer Metadata Document with which to initialize the returned object. + + This method attempts to load the returned object with metadata previously stored by a call to + . Users should not tamper with this metadata document. + + a instance initialized with the specified XML document. - + - - Differential backup: files created or changed since the last full backup are saved. Files are not marked as having been backed up. - - - A requester can implement this sort of backup on a particular writer only if it supports the schema. - - - If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. - + Gets a snapshot management interface for the current implementation. + A snapshot management interface for the current implementation. - + - - The log file of a writer is to participate in backup or restore operations. - - - A requester can implement this sort of backup on a particular writer only if it supports the schema. - - - If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. - + Exception thrown to indicate that another LUN resynchronization operation is already in progress. - + - - Files on disk will be copied to a backup medium regardless of the state of each file's backup history, and the backup history will not be updated. - - - A requester can implement this sort of backup on a particular writer only if it supports the schema. - - - If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. - + Initializes a new instance of the class. - - Backup type that is not full, copy, log, incremental, or differential. - - + - Enumeration used to discriminate between the named windows versions. + Initializes a new instance of the class. - - The values of the enumeration are ordered so a later released operating system version - has a higher number, so comparisons between named versions are meaningful. - + The message. - + - Windows 2000 (Server or Professional) + Initializes a new instance of the class. + The message. + The inner. - + - Windows XP + Initializes a new instance of the class. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is null or is zero (0). + - + - Windows Server 2003 + Defines the set of shadow copy protection faults. + A shadow copy protection fault occurs when the VSS service is unable to perform a copy-on- + write operation to the shadow copy storage area (also called the diff area). - + - Windows Vista + No shadow copy protection fault has occurred. - + - Windows Server 2008 + The volume that contains the shadow copy storage area could not be found. Usually this fault means that the volume has not yet arrived in the system. - + - Unknown operating system + The volume that contains the shadow copy storage area could not be brought online because an I/O failure occurred. - + - Exception thrown to indicate that the provider encountered an error that requires the user to restart the computer. + The shadow copy metadata for the shadow copy storage area has been corrupted. - - Windows Server 2003 and Windows XP:This exception is not supported until Windows Vista. - - + - Initializes a new instance of the - class with a system-supplied message describing the error. + A memory allocation failure occurred. This could be caused by a temporary low-memory condition that does not happen again after you clear the fault and restart the shadow copy operation. - + - Initializes a new instance of the class with a specified error message. + A memory mapping failure occurred. This fault could mean that the page file is too small, or it could be caused by a low-memory condition. - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + A read failure occurred during the copy-on-write operation when data was being copied from the live volume to the shadow copy storage area volume. - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + A read or write failure occurred during the copy-on-write operation when data was being copied from the live volume to the shadow copy storage area volume. One possible reason is that the shadow copy storage area volume has been removed from the system. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - + - The enumeration indicates which volume control or file I/O operations are disabled for the - volume that has been shadow copied. - - - None of the other flags. + This failure means that either the shadow copy storage area is full or the shadow copy storage area volume is full. + After clearing the protection fault, you can do one of the following: + + Delete unused shadow copy storage areas by calling the method. + Increase the shadow copy storage area maximum size for the volume by calling the method. + + - - The provider managing the shadow copies for a specified volume does not support defragmentation operations on that volume. + + + The size of the shadow copy storage area could not be increased because there was no longer enough space on the shadow copy storage area volume. + - - The provider managing the shadow copies for a specified volume does not support content index operations on that volume. + + + The size of the shadow copy storage area could not be increased. + - - The enumeration specifies the provider type. + + + An unexpected error occurred. + - + - - The provider type is unknown. - - - This indicates an error in the application or the VSS service, or that no provider is available. - + Either the shadow copy storage area files could not be opened or the shadow copy storage area volume could not be mounted because of a file system operation failure. - - The default provider that ships with Windows. + + + A read or write failure occurred on the shadow copy storage area volume. + - - A software-based provider. + + + The shadow copy storage area volume was removed from the system or could not be accessed for some other reason. + - - A hardware-based provider. + + + Another application attempted to write to the shadow copy storage area. + - + - The enumeration is used by both the requester and the writer to specify the type of component being used - with a shadow copy backup operation. + Exception thrown to indicate that the volume already has a revert in progress. - - A writer sets a component's type when it adds the component to its Writer Metadata Document using - IVssCreateWriterMetadata.AddComponent - - - Writers and requesters can find the type information of components selected for inclusion in a Backup - Components Document through calls to to return a component type directly. - - - A requester can obtain the type of any component in a given writer's Writer Metadata Document by doing the following: - - Using to obtain a interface - Examining the Type member of the object - - + + Windows XP and Windows 2003: This error is not supported until Windows Vista. + - - Undefined component type. - This value indicates an application error. + + + Initializes a new instance of the + class with a system-supplied message describing the error. - - Database component. - - - File group component. This is any component other than a database. - - + - The interface provides a method that returns an interface to further configure a shadow copy provider. + Initializes a new instance of the class with a specified error message. + The message that describes the error - + - Gets an instance of the differential software snapshot management interface to further configure the system provider. + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. - - - - - Windows XP: This method is not supported until Windows 2003. - - - - - An instance of the differential software snapshot management interface to further configure the system provider. + The message that describes the error + The exception that is the cause of the current exception. - + - Returns the current minimum size of the shadow copy storage area. + Initializes a new instance of the class. - - - The shadow copy storage area minimum size is a per-computer setting. Prior to Windows Server 2003 Service Pack 1 (SP1), this - was fixed at 100 MB. With Windows Server 2003 SP1, the shadow copy storage area has a minimum size of 300 MB and can be - increased in 300 MB increments up to 3000 MB (3 GB). This setting is stored in the MinDiffAreaFileSize value of type - REG_DWORD in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VolSnap (the value is the size, in MB). - - - - - Windows XP and Windows 2003: This method is not supported until Windows 2003 SP1. - - - - - The current minimum size of the shadow copy storage area. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + - - The class is used by a requester to poll writers about file status and to run backup/restore operations. - + Represents information about a Subcomponent associated with a given component. - - - A object can be used for only a single backup, restore, or Query operation. - - - After the backup, restore, or Query operation has either successfully finished or been explicitly terminated, a requester must - release the object by calling Dispose(). - A object must not be reused. For example, you cannot perform a backup or restore operation with the - same object that you have already used for a Query operation. - - - For information on how to retrieve an instance of for the current operating system, see - and . - - - - - + - The AbortBackup method notifies VSS that a backup operation was terminated. - - This method must be called if a backup operation terminates after the creation of a shadow copy set with - and before returns. - - - If AbortBackup is called and no shadow copy or backup operations are underway, it is ignored. - + Initializes a new instance of . - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized. + The logical path of the Subcomponent. This can not be empty when working with Subcomponents. + The name of the Subcomponent. This can not be empty. - + + The logical path of the Subcomponent. This can not be empty when working with Subcomponents. + + + The name of the Subcomponent. This can not be empty. + + - The AddAlternativeLocationMapping method is used by a requester to indicate that an alternate location - mapping was used to restore all the members of a file set in a given component. + Exception indicating that the requested method is not supported on the current operating system, or the loaded + assembly is targeted for a different operating system than the one on which it is running. - Globally unique identifier (GUID) of the writer class that exported the component. - Type of the component. - - String containing the logical path to the component. The logical path can be . - There are no restrictions on the characters that can appear in a non-null logical path. - - The component name. - - - The path to the directory that originally contained the - file to be relocated. This path must be local to the VSS machine. - - - The path can contain environment variables (for example, %SystemRoot%) but cannot contain wildcard characters. - UNC paths are not supported. - - - There is no requirement that the path end with a backslash ("\"). It is up to applications that retrieve - this information to check. - - - String containing the original file specification. A file specification cannot - contain directory specifications (for example, no backslashes) but can contain the ? and * wildcard characters. - - Boolean indicating whether the path specified by the parameter identifies only a single - directory or if it indicates a hierarchy of directories to be traversed recursively. The Boolean is true if the - path is treated as a hierarchy of directories to be traversed recursively and false if not. - - The name of the directory where the file will be relocated. This path must be local to the VSS machine. - UNC paths are not supported. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The XML document is not valid. Check the event log for details. - The specified component does not exist. - + - The AddComponent method is used to explicitly add to the backup set in the Backup Components Document all required - components (nonselectable for backup components without a selectable for backup ancestor), and such optional - (selectable for backup) components as the requester considers necessary. Members of component sets (components with - a selectable for backup ancestor) are implicitly included in the backup set, but are not explicitly added to the Backup - Components Document. + Initializes a new instance of the class. - Identifies a specific instance of a writer. - Writer class identifier. - Identifies the type of the component. - - String containing the logical path of the selectable for backup component. - A logical path is not required when adding a component. Therefore, the value of this parameter can be . - There are no restrictions on the characters that can a logical path. - - - String containing the name of the selectable for backup component. - The value of this parameter cannot be . - There are no restrictions on the characters that can appear in a logical path. - - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The XML document is not valid. Check the event log for details. - The object is a duplicate. A component with the same logical path and component name already exists. - + - The AddNewTarget method is used by a requester during a restore operation to indicate that the backup application plans - to restore files to a new location. + Initializes a new instance of the class. - Globally unique identifier (GUID) of the writer class containing the files that are to receive a new target. - Identifies the type of the component, see the documentation for for more information. - - String containing the logical path of the component containing the files that are to receive a new restore target. - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - The logical path can be . - There are no restrictions on the characters that can appear in a non-null logical path. - - - The name of the component containing the files that are to receive a new restore target. - The string should not be and should contain the same component name as was used when the - component was added to the backup set using . - There are no restrictions on the characters that can appear in a non-NULL logical path. - - - The name of the directory or directory hierarchy containing the files to receive a new restore target. - The path can contain environment variables (for example, %SystemRoot%) but cannot contain wildcard characters. - There is no requirement that the path end with a backslash ("\"). It is up to applications that retrieve this information to check. - - - The file specification of the files to receive a new restore target. - A file specification cannot contain directory specifications (for example, no backslashes) but can contain the ? and * wildcard characters. - - Boolean indicating whether only the files in the directory defined by and matching the file - specification provided by are to receive a new restore target, or if all files in the hierarchy defined - by and matching the file specification provided by are to receive a new restore target. - - The fully qualified path of the new restore target directory. - This method is not supported on Windows XP - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The component does not exist or the path and file specification do not match a component and file specification in the component. - The XML document is not valid. Check the event log for details. - The operation is not supported on the current operating system. + The message. - + - The AddRestoreSubcomponent method indicates that a Subcomponent member of a component set, which had been marked as - nonselectable for backup but is marked selectable for restore, is to be restored irrespective of whether any other member - of the component set will be restored. + Initializes a new instance of the class. - Globally unique identifier (GUID) of the writer class containing the files that are to receive a new target. - Identifies the type of the component, see the documentation for for more information. - - String containing the logical path of the component in the backup document that defines the backup component set containing the Subcomponent to be added for restore. - The logical path can be . - There are no restrictions on the characters that can appear in a non-null logical path. - - - The logical path of the component in the backup document that defines the backup component set containing the Subcomponent to be added for restore. - The string should not be and should contain the same component name as was used when the - component was added to the backup set using . - There are no restrictions on the characters that can appear in a non-NULL component name. - - - The logical path of the Subcomponent to be added for restore. - A logical path is required when adding a Subcomponent. Therefore, the value of this parameter cannot be . - There are no restrictions on the characters that can appear in a non-NULL logical path. - - - The logical name of the Subcomponent to be added for restore. - The value of this parameter cannot be . - There are no restrictions on the characters that can appear in a non-NULL component name. - - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The component does not exist. - The XML document is not valid. Check the event log for details. + The message. + The inner exception. - + - The method adds an original volume to the shadow copy set. + Initializes a new instance of the class. - String containing the name of the volume to be shadow copied. The name must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form "\\?\Volume{GUID}\" (where GUID is the unique global identifier of the volume) with a backslash (\) - - - The provider to be used. can be used, in which case the default provider will be used. - Identifier of the added shadow copy. - - - The maximum number of shadow copies in a single shadow copy set is 64. - - If is , the default provider is selected according to the following algorithm: - - If any hardware-based provider supports the given volume, it is selected. - If there is no hardware-based provider available, if any software-based provider supports the given volume, it is selected. - If there is no hardware-based provider or software-based provider available, the system provider is selected. (There is only one preinstalled system provider, which must support all nonremovable local volumes.) - - - - Caller does not have sufficient backup privileges or is not an administrator. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The maximum number of volumes has been added to the shadow copy set. The specified volume was not added to the shadow copy set. - The volume has been added to the maximum number of shadow copy sets. The specified volume was not added to the shadow copy set. - does not correspond to an existing volume. - does not correspond to a registered provider. - Expected provider error. The provider logged the error in the event log. - The value of the parameter is and no VSS provider indicates that it supports the specified volume. - The volume is not supported by the specified provider. - The provider returned an unexpected error code. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + - The method adds an original volume to the shadow copy set using the default provider. + Static class providing access to information about the operating system under which the + assembly is executing. - String containing the name of the volume to be shadow copied. The name must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form "\\?\Volume{GUID}\" (where GUID is the unique global identifier of the volume) with a backslash (\) - - - Identifier of the added shadow copy. - - - The maximum number of shadow copies in a single shadow copy set is 64. - - If is , the default provider is selected according to the following algorithm: - - If any hardware-based provider supports the given volume, it is selected. - If there is no hardware-based provider available, if any software-based provider supports the given volume, it is selected. - If there is no hardware-based provider or software-based provider available, the system provider is selected. (There is only one preinstalled system provider, which must support all nonremovable local volumes.) - - - - Caller does not have sufficient backup privileges or is not an administrator. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The maximum number of volumes has been added to the shadow copy set. The specified volume was not added to the shadow copy set. - The volume has been added to the maximum number of shadow copy sets. The specified volume was not added to the shadow copy set. - does not correspond to an existing volume. - does not correspond to a registered provider. - Expected provider error. The provider logged the error in the event log. - The value of the parameter is and no VSS provider indicates that it supports the specified volume. - The volume is not supported by the specified provider. - The provider returned an unexpected error code. - + - The method causes VSS to generate a BackupComplete event, which signals writers that the backup - process has completed. + Determines whether the current process is running under WOW64. - A instance representing this operation. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - An unexpected error occurred during communication with writers. The error code is logged in the error log file. + + true if the current process is running under WOW64; otherwise, false. + - - - - The BreakSnapshotSet method causes the existence of a shadow copy set to be "forgotten" by VSS. - - + - The BreakSnapshotSet method causes the existence of a shadow copy set to be "forgotten" by VSS. + Determines whether the operating system is of the specified version or later. - Shadow copy set identifier. - BreakSnapshotSet can be used only for shadow copies created by a hardware shadow copy provider. This method makes these shadow copies regular volumes. - The caller does not have sufficient backup privileges or is not an administrator. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The shadow copy was created by a software provider and cannot be broken. - The specified shadow copy does not exist. + The lowest version for which to return true. + + true if the operating system is of the specified or later; otherwise, false. + - + - Breaks a shadow copy set according to requester-specified options. - - A shadow copy set identifier. - A bitmask of flags that specify how the shadow copy set is broken. - - - This method is similar to , except that is has an extra parameter to specify - how the shadow copy set is broken, and returns an object to query the status of the operation. - - - Like , this method can be used only for shadow copies that were created by - a hardware shadow copy provider. - - - After this method returns, the shadow copy volume is still a volume, but it is no longer a shadow copy. - For more information, see Breaking Shadow Copies. - - + Determines whether operating system is of the specified version or later, allowing specification of + a minimum service pack that must be installed on the lowest version. + + The minimum required version. + The major version of the service pack that must be installed on the + minimum required version to return true. This can be 0 to indicate that no service pack is required. - An instance that can be used to retrieve the status of the shadow copy set break operation. - When the break operation is complete, the Dispose method of the instance must be called. + true if the operating system matches the specified with the specified service pack, or if the operating system is of a later version; otherwise, false. - + - The DeleteSnapshot method deletes a shadow copy.. + Determines whether operating system is of the specified server version or later or if it is of the specified client + version or later and throws otherwise. - Identifier of the shadow copy to be deleted. - If the value of this parameter is , the provider will do everything possible to delete the shadow copy. If it is , no additional effort will be made. - - - The requester is responsible for serializing the delete shadow copy operation. - - - During a backup, shadow copies are automatically released as soon as the instance is - disposed. In this case, it is not necessary to explicitly delete shadow copies. - - - The caller does not have sufficient backup privileges or is not an administrator. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The specified shadow copy does not exist. - Expected provider error. The provider logged the error in the event log. - Unexpected provider error. The error code is logged in the error log. + The minimum server version. + The minimum server service pack version (applies only if the version exactly matches the specified server version). + The minimum client version. + The minimum client service pack version (applies only if the version exactly matches the specified client version). - + - The DeleteSnapshotSet method deletes a shadow copy set including any shadow copies in that set. + Determines whether the operating system is a server operating system of atleast the specified and + and throws an otherwise. - Identifier of the shadow copy set to be deleted. - - If the value of this parameter is , the provider will do everything possible to - delete the shadow copies in a shadow copy set. If it is , no additional effort will be made. - - - - Multiple shadow copies in a shadow copy set are deleted sequentially. If an error occurs during one of these individual - deletions, DeleteSnapshotSet will throw an exception immediately; no attempt will be made to delete any remaining shadow copies. - The identifier of the undeleted shadow copy can be found in the instance of thrown. - - - The requester is responsible for serializing the delete shadow copy operation. - - - During a backup, shadow copies are automatically released as soon as the instance is - disposed. In this case, it is not necessary to explicitly delete shadow copies. - - - The deletion failed. This is the only exception actually thrown by this method. It - wraps one of the other exceptions listed in this section as its inner exception. - The caller does not have sufficient backup privileges or is not an administrator. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The specified shadow copy does not exist. - Expected provider error. The provider logged the error in the event log. - Unexpected provider error. The error code is logged in the error log. - The total number of snapshots that were deleted + The server version. + The server service pack version. - + - This method prevents a specific class of writers from receiving any events. + Determines whether the assembly is executing on the specified operating system version or later. + If not, an exception is thrown. - An array containing one or more writer class identifiers. - The caller does not have sufficient backup privileges or is not an administrator. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The minimum operating system version required. + The current operating system is of a version earlier than the specified - + - This method disables a specified writer instance or instances. + Determines whether the assembly is executing on the specified operating system version with + the specified service pack installed or any later version of windows. If not, an exception is thrown. - An array containing one or more writer instance identifiers. - The caller does not have sufficient backup privileges or is not an administrator. - One of the parameters is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The minimum operating system version required. + The minimum service pack version required. + The current operating system is of a version earlier + than the specified or the versions match but the operating system does not + have at least the specified service pack version installed. - + - Commits all shadow copies in this set simultaneously. + Gets the named version of the operating system. - A instance representing this asynchronous operation. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object has not been initialized or the prerequisite calls for a given shadow copy context have not been made prior to calling DoSnapshotSet. - The system or provider has insufficient storage space. If possible delete any old or unnecessary persistent shadow copies and try again. This error code is only returned via the QueryStatus method on the . - The system was unable to flush I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - The system was unable to hold I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - The provider was unable to perform the request at this time. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. This error code is only returned via the method on the instance returned by this method. - - - The provider encountered an error that requires the user to restart the computer. - - - Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. - - - - - The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). - - - Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. - - - - - The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). - - - Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. - - - The provider returned an unexpected error code. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. This error code is only returned via the method on the instance returned by this method. - - - - The EnableWriterClasses method enables the specified writers to receive all events. - - An array containing one or more writer class identifiers. - - - - Once this method is called, only enabled writer classes are subsequently called. - - - must be called prior to . To obtain information about the writers - currently running on the system, it may be necessary to call from another instance of the - class. - - - After is called, these calls have no effect. - - - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The named version of the operating system. - + - The ExposeSnapshot method exposes a shadow copy either by mounting it as a device on a drive letter or mount point, or - as a file share. + Gets a value indicating whether the operating system is a server os. - Shadow copy identifier. - - The path to the portion of the volume made available when exposing a shadow copy as a file share. The value of this parameter must be NULL when exposing a shadow copy locally; that is, by mounting to a drive letter or a mount point. - The path cannot contain environment variables (for example, %MyEnv%) or wildcard characters. - There is no requirement that the path end with a backslash ("\"). It is up to applications that retrieve this information to check. - - Attributes of the exposed shadow copy indicating whether it is exposed locally or remotely. The value must - be either the or the - value of . - When a shadow copy is exposed as a file share, the value of this parameter is the share name. If a shadow copy - is exposed by mounting it as a device, the parameter value is a drive letter followed by a colon, for example, "X:" or a mount point - path (for example, "X:\a\b"). If the value of this parameter is , then VSS determines the share name or drive - letter if the parameter is . - The exposed name of the shadow copy. This is either a share name, a drive letter followed by a colon, or a mount point. - - When exposing a persistent shadow copy, it remains exposed through subsequent boots. - When exposing a shadow copy of a volume, the shadow copy may be treated either as a mountable device or as a file system available for file sharing. - When it is exposed as a device, as with other mountable devices, the shadow copy of a volume is exposed at its mount point starting with its root. - When exposed as a file share, subsets (indicated by ) of the volume can be shared. - - One of the parameter values is not valid. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The specified shadow copy does not exist. - Expected provider error. The provider logged the error in the event log. - Unexpected provider error. The error code is logged in the error log. + + true if the current operating system is a server os; otherwise, false. + - + - The FreeWriterMetadata method frees system resources allocated when was called. + Gets the numeric version of the operating system. This is the same as returned by + . - - - This method should never be called prior to the completion of . - The result of calling the method prior to completion of the metadata gather is undefined. - - - Once writer metadata has been freed, it cannot be recovered by the current instance of the class. - It will be necessary to create a new instance of , and call the - method again. - - - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The numeric version of the operating system. - + - The FreeWriterStatus method frees system resources allocated during the call to . + Gets the version of the service pack currently installed on the operating system. - The caller is out of memory or other system resources. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The version of the service pack currently installed on the operating system. + Only the and fields are + used. - + - The method prompts each writer to send the metadata they have collected. The method will generate an Identify event to communicate with writers. + Gets the processor architecture for which the operating system is targeted. - should be called only once during the lifetime of a given object. - A instance representing this asynchronous operation. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. + The processor architecture for which the operating system is targeted. + If running under WOW64 this will return a 32-bit processor. Use to + determine if this is the case. + - + - The method prompts each writer to send a status message. + Represents the status of an asynchronous operation performed by the VSS framework. - A instance representing this asynchronous operation. - The caller of this method should also call after receiving the status of each writer. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. - + - The method gets the properties of the specified shadow copy. + Cancels an incomplete asynchronous operation. - The identifier of the shadow copy of a volume as returned by . - A instance containing the shadow copy properties. - The caller does not have sufficient backup privileges or is not an administrator. - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The specified shadow copy does not exist. - Expected provider error. The provider logged the error in the event log. - Unexpected provider error. The error code is logged in the error log. - + - The ImportSnapshots method imports shadow copies transported from a different machine. + Exception indicating that the writer status is not available for one or more writers. + A writer may have reached the maximum number of available backup and restore sessions. - This method is supported only on Windows Server operating systems. - A instance representing this asynchronous operation. - - Only one shadow copy can be imported at a time. - The requester is responsible for serializing the import shadow copy operation. - For more information see the MSDN documentation on IIVssBackupComponents::ImportSnapshots Method - Requires Windows Server 2008, Windows Server 2003 SP1, Windows Server 2003, Enterprise Edition, or Windows Server 2003, Datacenter Edition. - - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The method initializes the backup components metadata in preparation for backup. + Initializes a new instance of the class. - - - During imports of transported shadow copies, this parameter must be the original document generated when creating the saved - shadow copy and saved using . - - - This parameter may be - - - - The XML document supplied to this method initializes the object with metadata previously stored by - a call to . Users should not tamper with this metadata document. - - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The XML document is not valid. Check the event log for details. - + - The method initializes the IIVssBackupComponents interface in preparation for a restore operation. + Initializes a new instance of the class. - - XML string containing the Backup Components Document generated by a backup operation and saved by - . - - - The XML document supplied to this method initializes the object with metadata previously stored by a call to - . Users should not tamper with this metadata document. - - is - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The load operation of the specified XML document failed. + The message that describes the error - + - The IsVolumeSupported method determines whether the specified provider supports shadow copies on the specified volume. + Initializes a new instance of the class. - - Provider identifier. If the value is , checks whether any provider - supports the volume. - - Name of the volume. The name of the volume to be checked must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) - - if shadow copies are supported on the specified volume. If the value is , shadow - copies are not supported on the specified volume. - - - will return if it is possible to create shadow copies on the given volume, - even if the current configuration does not allow the creation of shadow copies on that volume at the present time. - - - For example, if the maximum number of shadow copies has been reached on a given volume (and therefore no more shadow copies - can be created on that volume), the method will still indicate that the volume can be shadow copied. - - - is - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The specified volume was not found or was not available. + The message that describes the error + The exception that is the cause of the current exception. - + - The IsVolumeSupported method determines whether any provider supports shadow copies on the specified volume. + Initializes a new instance of the class. - Name of the volume. The name of the volume to be checked must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) - - if shadow copies are supported on the specified volume. If the value is , shadow - copies are not supported on the specified volume. - - - will return if it is possible to create shadow copies on the given volume, - even if the current configuration does not allow the creation of shadow copies on that volume at the present time. - - - For example, if the maximum number of shadow copies has been reached on a given volume (and therefore no more shadow copies - can be created on that volume), the method will still indicate that the volume can be shadow copied. - - - is - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The specified volume was not found or was not available. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + - + - The method will cause VSS to generate a PostRestore event, signaling writers that the current - restore operation has finished. + Exception indicating that the volume was in use and could not be locked. - A instance representing this asynchronous operation. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The specified volume was not found or was not available. - Expected provider error. The provider logged the error in the event log. - + - The method will cause VSS to generate a PrepareForBackup event, signaling writers to prepare for an upcoming - backup operation. This makes a requester's Backup Components Document available to writers. + Initializes a new instance of the + class with a system-supplied message describing the error. - - - generates a PrepareForBackup event, which is handled by each instance of each writer - through the CVssWriter::OnPrepareBackup method. - - - Before PrepareForBackup can be called, must be called. - - - A instance representing this asynchronous operation. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The method will cause VSS to generate a PreRestore event, signaling writers to prepare for a - coming restore operation. + Initializes a new instance of the class with a specified error message. - A instance representing this asynchronous operation. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The message that describes the error - + - The method queries the completed shadow copies in the system that reside in the current context. - The method can be called only during backup operations. + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. - A list of objects representing the requested information. - - - Because returns only information on completed shadow copies, the only shadow copy state it can disclose - is . - - - The method may be called only during backup operations and must be preceded by calls to and - . - - - The method will return only information - about shadow copies with the current context (set by ). For instance, if the - context is set to , will not - return information on a shadow copy created with a context of . - - - One of the parameter values is not valid. - The caller is not an administrator or a backup operator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The queried object is not found. - Expected provider error. The provider logged the error in the event log. - Unexpected provider error. The error code is logged in the error log. + The message that describes the error + The exception that is the cause of the current exception. - + - The method queries providers on the system. - The method can be called only during backup operations. + Initializes a new instance of the class. - A list of objects representing the requested information. - - - The method may be called only during backup operations and must be preceded by calls to and - . - - - One of the parameter values is not valid. - The caller is not an administrator or a backup operator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The queried object is not found. - Expected provider error. The provider logged the error in the event log. - Unexpected provider error. The error code is logged in the error log. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + - The method returns an instance that can be used to determine the status of - the revert operation. + Exception thrown to indicate that an unexpected error occurred during communication with writers. - Name of the volume. The name of the volume to be checked must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) - - A instance representing this asynchronous operation. - The revert operation will continue even if the computer is rebooted, and cannot be canceled or undone, except by restoring a - backup created using another method. - Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008 or Windows Server 2003 SP1 + The error code is logged in the error log file. - One of the parameter values is not valid. - The calling process has insufficient privileges. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The parameter is not a valid volume. - Revert is not supported on this volume. - The provider for the volume does not support revert operations. - This operation is not supported on the current operating system. - + - The method reverts a volume to a previous shadow copy. Only shadow copies created with persistent - contexts (, , - or ) - are supported. + Initializes a new instance of the + class with a system-supplied message describing the error. - The identifier of the shadow copy to revert - If this parameter is , the volume will be dismounted and reverted even if the volume is in use. - This operation cannot be canceled, or undone once completed. If the computer is rebooted during the revert operation, the revert process will continue when the system is restarted. - Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008 or Windows Server 2003 SP1 - - One of the parameter values is not valid. - The calling process has insufficient privileges. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The parameter is not a valid shadow copy. - The provider was not found. - The volume already has a revert in process. - Revert is only supported for persistent shadow copies. - The parameter was , and the volume could not be locked. - Revert is not supported on this volume. - The provider for the volume does not support revert operations. - This operation is not supported on the current operating system. - + - The SaveAsXml method saves the Backup Components Document containing a requester's state information to a specified string. - This XML document, which contains the Backup Components Document, should always be securely saved as part of a backup operation. + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + + The interface contains methods used to obtain and modify component information + (in the form of instances) associated with a given writer but stored in a + requester's Backup Components Document. + + + + + A read-only collection of instances to the a given writer's + components explicitly stored in the Backup Components Document. + + A read-only collection of instances to the a given writer's + components explicitly stored in the Backup Components Document. This list + must not be accessed after the from which it was obtained has been disposed. + + + + + Identifier of the writer instance responsible for the components. + + + + + Identifier of the writer class responsible for the components. + + + + + A class that allows a requester to examine the metadata of a specific writer instance. This metadata may come from a + currently executing (live) writer, or it may have been stored as an XML document. - The Backup Components Document containing a requester's state information. - For a typical backup operation, SaveAsXml should not be called until after both writers and the requester are finished modifying the Backup Components Document. - Writers can continue to modify the Backup Components Document until their successful return from handling the PostSnapshot event (CVssWriter::OnPostSnapshot), or equivalently upon the completion of . - Requesters will need to continue to modify the Backup Components Document as the backup progresses. In particular, a requester will store a component-by-component record of the success or failure of the backup through calls to the method. - Once the requester has finished modifying the Backup Components Document, the requester should use to save a copy of the document to the backup media. - A Backup Components Document can be saved at earlier points in the life cycle of a backup operation, for instance, to support the generation of transportable shadow copies to be handled on remote machines. - However, should never be called prior to , because the Backup Components Document will not have been filled by the requester and the writers. + A interface to a live writer's metadata is obtained by a call to + . - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The SetAdditionalRestores method is used by a requester during incremental or differential restore operations to indicate - to writers that a given component will require additional restore operations to completely retrieve it. + The method loads an XML document that contains a writer's metadata document into a + instance. + + String that contains an XML document that represents a writer's metadata document. + if the XML document was successfully loaded, or if the XML document could not + be loaded. + + + + The method saves the Writer Metadata Document that contains a writer's state information to a specified string. + This string can be saved as part of a backup operation. + + The Writer Metadata Document that contains a writer's state information. + + + + The is examined by a requester to determine from the + Writer Metadata Document the types of backup operations that a given writer can participate in. + + + + + The alternate location mappings of the file sets. + + A read-only list containing the alternate location mappings of the file sets. + + + + Information about how a writer wants its data to be restored. + + + + + Obtains the Writer Metadata Documents the components supported by this writer. + + the Writer Metadata Documents the components supported by this writer. + + + Information about files that have been explicitly excluded from backup. + a read-only list containing information about files that have been explicitly excluded from backup. + + + + The instance identifier of the writer + + The instance id. + + + The class ID of the writer + + + A string specifying the name of the writer + + + A enumeration value indicating how the data managed by the writer is used on the host system. + + + A enumeration value indicating the type of data managed by the writer. + + + + Gets the writer instance name. - Writer identifier. - Type of the component. - - - The logical path of the component to be added. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - - - If the value of this parameter is , additional restores of the component will follow this restore. If the - value is , additional restores of the component will not follow this restore. - - - - The information provided by the method is typically used by writers that support an explicit - recovery mechanism as part of their PostRestore event handler (CVssWriter::OnPostRestore)�for instance, the Exchange Server, and - database applications such as SQL Server. For these applications, it is often not possible to perform additional differential, - incremental, or log restores after such a recovery is performed. - - - Therefore, if for a component is set to , this means that such a writer - should not execute its explicit recovery mechanism and should expect that additional differential, incremental, or log restores - will be done. - - - When on a component is set to , then after the component is restored, - the application can complete its recovery operation and be brought back online. - - - This method must be called before . - + + + Windows XP and Windows 2003: This property is not supported until Windows 2003 SP1 and will always return + on those systems. + + - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. + A string specifying the writer instance name. - + - Marks the restore of a component as authoritative for a replicated data store. + Gets the version information for a writer application. - The globally unique identifier (GUID) of the writer class. - Type of the component. - - - The logical path of the component to be added. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - to indicate that the restore of the component is authoritative; otherwise, . - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - This method was not called during a restore operation. - The specified component was not found. + The version information for a writer application. - - Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. - + Only the and properties of the instance + are used by VSS. + + + Windows XP and Windows 2003: This property is not supported until Windows Vista, and will always return version 0.0.0.0 - + - Assigns a new logical name to a component that is being restored. + Obtains information about file sets that have been explicitly excluded from a given shadow copy. - The globally unique identifier (GUID) of the writer class. - The type of the component. - - - A string containing the logical path of the component. For more information, see - Logical Pathing of Components. - + - The value of the string containing the logical path used here should be the same as the string that was used when - the component was added. + The property is intended to report information about file sets excluded from a + shadow copy. Requesters should not exclude files from backup based on the information returned by this method. - The logical path can be . + + Windows XP and Windows 2003: This property is not supported until Windows Vista and will always return an empty list. + - - There are no restrictions on the characters that can appear in a logical path. - - - - The name of the component. - - The string cannot be and should contain the same component name as was the component name - that was used when the component was added to the backup set using the method. - - - String containing the restore name to be set for the component. - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - This method was not called during a restore operation. - The specified component was not found. + + The exclude from snapshot files. + + + + The interface contains methods that allow applications to query and + manage shadow copy storage areas generated by the system shadow copy provider. + - Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. + + Windows XP: This interface requires Windows Server 2003 or later. + - + - Sets a string of private, or writer-dependent, backup parameters for a component. + The method adds a shadow copy storage area association for the specified volume. + If the association is not supported, an exception will be thrown. - Writer identifier. - Type of the component. - - - The logical path of the component to be added. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - + + + Name of the volume that will be the source of shadow copies that is to be associated + with a shadow copy storage area on the volume. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + - - String containing the backup parameters to be set. + + + Name of the volume that + will contain the shadow copy storage area to be associated with the + volume. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + + + + + Specifies the maximum size, in bytes, of the shadow copy storage area on the volume. + This value must be at least 300 MB, up to the system-wide limit. + + + Windows Server 2003: Prior to + Windows Server 2003 SP1 the shadow copy storage area size was fixed at 100 MB. + - - The exact syntax and content of the backup options set by the wszBackupOptions parameter of the method - will depend on the specific writer being contacted. - - - This method must be called before . - + + + + Windows XP: This method is not supported until Windows Server 2003. + + + - One of the arguments that cannot be was + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. + One of the arguments was + Unexpected error. The error code is logged in the error log file. + The association between the and volumes already exists. + Expected provider error. The provider logged the error in the event log. + The volume is not NTFS or has insufficient free space. + The maximum number of shadow copy storage areas has been added to the shadow copy source volume. The specified shadow copy storage volume was not associated with the specified shadow copy source volume. - + - Defines an overall configuration for a backup operation. + The method updates the shadow copy storage area maximum size + for a certain volume. This may not have an immediate effect. - - - Indicates whether a backup or restore operation will be in component mode. - - - Operation in component mode supports selectively backing up designated individual components (which can allow their exclusion), - or only supports backing up all files and components on a volume. - - - The Boolean is if the operation will be conducted in component mode and if not. - - - - - Indicates whether a bootable system state backup is being performed. - + + Updates the shadow copy storage area maximum size + for a certain volume. This method has two overloads. + + + + Name of the volume that is the source of shadow copies that are associated with a shadow copy + storage area on the volume. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + - - - A enumeration value indicating the type of backup to be performed. - + + + Name of the volume that contains the shadow copy storage area associated with + the volume. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + - - - If the value of this parameter is , partial file support is enabled. - The default value for this argument is . - + + Specifies the maximum size, in bytes, for the shadow copy storage area to + use for the volume. If this value is zero, the shadow copy storage area will be disabled. - - Applications must call prior to calling . - - One of the arguments that cannot be was + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The XML document is not valid. Check the event log for details. + One of the arguments was + Unexpected error. The error code is logged in the error log file. + The association between the and volumes was not found. + Expected provider error. The provider logged the error in the event log. + The volume does not have sufficient free space. + A shadow copy is currently using the shadow copy storage area. - + - Indicates whether the backup of the specified component of a specific writer was successful. + The method queries shadow copy storage areas in use by the + original volume associated with the input shadow copy. - Globally unique identifier of the writer instance. - Globally unique identifier of the writer class. - Type of the component. - - - The logical path of the component to be added. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - The value of this parameter is if the component was successfully backed up, and if it was not. - - - When working in component mode (when is called with its select components argument set to ), - writers the state of each components backup using . - - - Therefore, a well-behaved backup application (requester) must call after each component has been - processed and prior to calling . - - - One of the arguments that cannot be was + The snapshot id. + A list of describing the shadow copy storage areas in use by the + shadow copy specified. + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. + One of the arguments was + Unexpected error. The error code is logged in the error log file. + Expected provider error. The provider logged the error in the event log. - - - Sets the context for subsequent shadow copy-related operations. - + - Sets the context for subsequent shadow copy-related operations. + The method queries shadow copy storage areas in use by the volume specified. - - The context to be set. The context must be one of the supported values of or a supported bit - mask (or bitwise OR) of with a valid . + + + Name of the volume that contains shadow copy storage areas. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + - - - The default context for VSS shadow copies is . - - - Windows XP: The only supported context is the default context, . Therefore, calling - this method under Windows XP throws a . - - - This method be called only once, and it must be called prior to calling most VSS functions. - - - For details on how the context set by this method affects how a shadow copy is created and managed, see - Implementation Details for Creating Shadow Copies. - - - For a complete discussion of the permitted shadow copy contexts, see and . - - + A list containing objects describing the shadow + copy storage areas in use by the volume specified. + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + One of the arguments was + Unexpected error. The error code is logged in the error log file. + Expected provider error. The provider logged the error in the event log. - + - Sets the context for subsequent shadow copy-related operations. + The method queries shadow copy storage areas that physically + reside on the given volume - - The context to be set. The context must be one of the supported values of or a supported bit - mask (or bitwise OR) of with a valid . + + + Name of the volume that contains shadow copy storage areas. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + - - - The default context for VSS shadow copies is . - - - Windows XP: The only supported context is the default context, . Therefore, calling - this method under Windows XP throws a . - - - can be called only once, and it must be called prior to calling most VSS functions. - - - For details on how the context set by this method affects how a shadow copy is created and managed, see - Implementation Details for Creating Shadow Copies. - - - For a complete discussion of the permitted shadow copy contexts, see and . - - + A list of objects describing the + shadow copy storage areas that physically reside on the given volume. + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + One of the arguments was + Unexpected error. The error code is logged in the error log file. + Expected provider error. The provider logged the error in the event log. - + - Indicates whether some, all, or no files were successfully restored. + The method queries volumes that support shadow copy storage + areas (including volumes with disabled shadow copy storage areas). - Globally unique identifier of the writer class. - Type of the component. - - - The logical path of the component. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - - If all of the files were restored, the value of this parameter is . - If some of the files were restored, the value of this parameter is . If none of the files - were restored, the value of this parameter is . + + + Name of the original volume that is the source of the shadow copies. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + - This method should be called between calls to and . - One of the arguments that cannot be was + A list of describing the volumes that support shadow + copy storage areas (including volumes with disabled shadow copy storage areas). + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. + One of the arguments was + Unexpected error. The error code is logged in the error log file. + Expected provider error. The provider logged the error in the event log. - + + The method updates the shadow copy storage area maximum size + for a certain volume. This may not have an immediate effect. + + + + Name of the volume that is the source of shadow copies that are associated with a shadow copy + storage area on the volume. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + + + + + Name of the volume that contains the shadow copy storage area associated with + the volume. + + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + + + + Specifies the maximum size, in bytes, for the shadow copy storage area to + use for the volume. If this value is zero, the shadow copy storage area will be disabled. + + + + to indicate that the effect of calling the + method should not continue if + the computer is rebooted; otherwise, . + + + If the parameter is zero, the + parameter must be . + + + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. + One of the parameter values is not valid. + One of the arguments was + Unexpected error. The error code is logged in the error log file. + The association between the and volumes was not found. + Expected provider error. The provider logged the error in the event log. + The volume does not have sufficient free space. + A shadow copy is currently using the shadow copy storage area. + + + + Clears the protection fault state for the specified volume. + + + Name of the volume that will be the source of shadow copies that is to be associated + with a shadow copy storage area on the volume. + + + The name of the volume. This parameter is required and cannot be . + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + + + + + The method dismounts the volume and resets the + volume's protection fault member to to allow normal I/O to continue + on the volume. If the volume is not in a faulted state, this method does nothing. + + + + + Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. + + + + + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. + One of the parameter values is not valid. + One of the arguments was + The provider for the volume does not support shadow copy protection. + Expected provider error. The provider logged the error in the event log. + The specified volume was not found. + + + + Deletes all shadow copy storage areas (also called diff areas) on the specified volume that are not in use. + + + The name of the volume. This parameter is required and cannot be . + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + + + + + Unused shadow copy storage area files are found on storage area volumes when the associated original + volume is offline due to a protection fault. In certain cases, the original volume may be + permanently lost, and calling the method is the only way to + recover the abandoned storage area space. + + + + + Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. + + + + + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. + One of the parameter values is not valid. + One of the arguments was + The provider for the volume does not support shadow copy protection. + Expected provider error. The provider logged the error in the event log. + The specified volume was not found. + + + + Gets the shadow copy protection level and status for the specified volume. + + + The name of the volume. This parameter is required and cannot be . + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + + + A class instance that contains information about the volume's + shadow copy protection level. + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. + One of the parameter values is not valid. + One of the arguments was + The provider for the volume does not support shadow copy protection. + Expected provider error. The provider logged the error in the event log. + The specified volume was not found. + + + + Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. + + + + + + The method gets information about the volume's current protection level. + If the volume is in a faulted state, the member of the + structure contains the current protection fault, + and the member contains the reason why the volume + is in a faulted state. If the volume is not in a faulted state, + the and + members will be zero. + + + + + + Sets the shadow copy protection level for an original volume or a shadow copy storage area volume. + + + The name of the volume. This parameter is required and cannot be . + + The name of the volume must be in one of the following formats: + + + + The path of a volume mount point with a backslash (\) + + + + + A drive letter with backslash (\), for example, D:\ + + + + + A unique volume name of the form \\?\Volume{GUID}\ (where + GUID is the unique global identifier of the volume) with a backslash (\) + + + + + + + A value from the enumeration that specifies the shadow + copy protection level. + + Caller does not have sufficient backup privileges or is not an administrator. + The caller is out of memory or other system resources. + One of the parameter values is not valid. + One of the arguments was + The provider for the volume does not support shadow copy protection. + Expected provider error. The provider logged the error in the event log. + The specified volume was not found. + + + The method checks the current shadow copy protection + level of the volume. If the volume is in a faulted state and + is specified for the + parameter, dismounts + the volume before setting the protection level. + + + If the current protection level of the volume is the same as the value of the + parameter, + does nothing. + + + + + Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. + + + + + + + + Exception indicating that the writer is not responding. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error + + + + Initializes a new instance of the class. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + + + + + Exception thrown to indicate that the system was unable to hold I/O writes. + + + This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + + + + + Initializes a new instance of the + class with a system-supplied message describing the error. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + + Exception indicating that the maximum number of shadow copy storage areas has been added to + the shadow copy source volume. The specified shadow copy storage volume was not associated + with the specified shadow copy source volume. + + + + + Initializes a new instance of the + class with a system-supplied message describing the error. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + + Exception indicating the writer is reporting one or more component-level errors. + To retrieve the errors, the requester must use the property. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error + + + + Initializes a new instance of the class. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + + + + + The structure describes associations between volumes containing the original file data + and volumes containing the shadow copy storage area (also known as the diff area). + + + + + Initializes a new instance of the class. + + Name of the volume. + Name of the diff area volume. + The maximum diff space. + The allocated diff space. + The used diff space. + + + + Gets the original volume name. + + The original volume name. + + + + Gets the shadow copy storage area volume name. + + The shadow copy storage area volume name. + + + + Gets the maximum space used on the shadow copy storage area volume for this association. + + The maximum space used on the shadow copy storage area volume for this association. + + + + Gets the allocated space on the shadow copy storage area volume by this association. + This must be less than or equal to . + + The allocated space on the shadow copy storage area volume by this association. + + + + Gets the used space from the allocated area. This must be less than or equal to . + + The the used space from the allocated area. + + + + + Interface containing methods for examining and modifying information about components contained in a requester's Backup Components Document. + + + - Sets the backup stamp of an earlier backup operation, upon which a differential or - incremental backup operation will be based. + objects can be obtained only for those components that have been explicitly added + to the Backup Components Document during a backup operation by the + method. - The method can be called only during a backup operation. + Information about components explicitly added during a restore operation using + are not available through the + interface. + + + For more information, see the MSDN documentation on + the IVssComponent Interface. + + + + + + The is used by a writer during incremental or differential restore + operations to determine whether a given component will require additional restore operations to completely retrieve it, + but can also be called by a requester. + + + If , additional restores will occur for the + current component. If , additional restores will not occur. + + + + + + The backup options specified to the writer that manages the currently selected component or component set + by a requester using . - Writer identifier. - Type of the component. - - - The logical path of the component. For more information, see - Logical Pathing of Components. - + The backup options for the current writer. + + + The backup stamp string stored by a writer for a given component. + The backup stamp indicating the time at which the component was backed up. + + + + The status of a complete attempt at backing up all the files of a selected component or component set as a + enumeration. + + + if the backup was successful and if it was not. + + + + The logical name of this component. + The logical name of this component. + + + The type of this component in terms of the enumeration. + The type of this component. + + + + The status of a completed attempt to restore all the files of a selected component or component set + as a enumeration. + + + A value of the enumeration that specifies whether all files were successfully restored. + + + + The logical path of this component. + The logical path of this component. + + + The failure message generated by a writer while handling the PostRestore event if one was set. + The failure message that describes an error that occurred while processing the PostRestore event. + + + The failure message generated by a writer while handling the PreRestore event if one was set. + The failure message that describes an error that occurred while processing the PreRestore event. + + + + A previous backup stamp loaded by a requester in the Backup Components Document. The value is used by a writer when + deciding if files should participate in differential or incremental backup operation. + + + The time stamp of a previous backup so that a differential or incremental backup can be correctly implemented. + + + + The restore options specified to the current writer by a requester using + . + The restore options of the writer. + + + The restore target (in terms of the enumeration) for the current component. Can only be called during a restore operation. + A value from the enumeration containing the restore target information. + + + Determines whether the current component has been selected to be restored. + If the returned value of this parameter is , the component has been selected to be restored. If , it has not been selected. + + + A collection of mapping information for the file set's alternate location for file restoration. + A read-only list containing the alternate location to which files were actually restored. This list must not be accessed after the from which it was obtained has been disposed. + See the MSDN documentation on the IVssComponent::GetAlternateLocationMapping method for more information. + + + + Information stored by a writer, at backup time, to the Backup Components Document to indicate that when a file is to be + restored, it (the source file) should be remapped. The file may be restored to a new restore target and/or ranges of its data + restored to different locations with the restore target. + + A read-only list containing the directed targets of this component. This list must not be accessed after the from which it was obtained has been disposed. + + + + The new file restoration locations for the selected component or component set. + + A read-only list contianing the new file restoration locations for the selected component or component set. This list must not be accessed after the from which it was obtained has been disposed. + + + + Information about any partial files associated with this component. + + A read-only list containing information about any partial files associated with this component. This list must not be accessed after the from which it was obtained has been disposed. + + + + Information about the file sets (specified file or files) to participate in an incremental or differential backup or restore as a + differenced file — that is, backup and restores associated with it are to be implemented as if entire files are copied to and from + backup media (as opposed to using partial files). + + Windows XP: This method requires Windows Server 2003 or later + + A read only list containing the diffrenced files associated with this component. This list must not be accessed after the from which it was obtained has been disposed. + + + + The subcomponents associated with this component. + A read only list containing the subcomponents associated with this component. This list must not be accessed after the from which it was obtained has been disposed. + + + + Gets a value indicating whether a requester has marked the restore of a component as authoritative for a replicated data store. + + + if the restore is authoritative; otherwise, . + + + + A writer indicates that it supports authoritative restore by setting the + flag in its backup schema mask. + + + For more information, see Setting VSS Restore Options. + + + + + Windows XP and Windows 2003: This property requires Windows Vista or later and will always return + on unsupported operating systems. + + + + + + + + Gets the PostSnapshot failure message string that a writer has set for a given component. + + + + Both writers and requesters can call this method. + + + + + Windows XP and Windows 2003: This property requires Windows Vista or later and will always return + on unsupported operating systems. + + + + + A string containing the failure message that describes an error that occurred while processing a PostSnapshot event, or + if no value was set or the method is not supported on the current operating system. + + + + Gets the PrepareForBackup failure message string that a writer has set for a given component. + + A string containing the failure message that describes an error that occurred while processing a PrepareForBackup event, + or if no failure message was set for this component, or if the property is not supported on the + current operating system. + + + Both writers and requesters can call this method. + + + + + Windows XP and Windows 2003: This property requires Windows Vista or later and will always return + on unsupported operating systems. + + + + + + + + Obtains the logical name assigned to a component that is being restored. + + + A string containing the restore name for the component, or if the operation + is not supported on the current operating system. + + + + The property can only be accessed during a restore operation. + + + A writer indicates that it supports this method by setting the + flag in its backup schema mask. + + + For more information, see + Setting VSS Restore Options. + + + + + Windows XP and Windows 2003: This property requires Windows Vista or later and will always return + on unsupported operating systems. + + + + + + + + Obtains the restore point for a partial roll-forward operation. + + + A string specifying the roll-forward restore point, + or if the property is not supported in the current context. + + + + The property can only be accessed during a restore operation. + + + A writer indicates that it supports this method by setting the + flag in its backup schema mask. + + + For more information, see + Setting VSS Restore Options. + + + + + Windows XP and Windows 2003: This property requires Windows Vista or later and will always return + on unsupported operating systems. + + + + + + + + Obtains the roll-forward operation type for a component. + + + A enumeration value indicating the type of roll-forward operation to be performed, + or if the property is not supported in the current context. + + + + The property can only be accessed during a restore operation. + + + A writer indicates that it supports this method by setting the + flag in its backup schema mask. + + + For more information, see + Setting VSS Restore Options. + + + + + Windows XP and Windows 2003: This property requires Windows Vista or later and will always return + on unsupported operating systems. + + + + + + + + VSS requesters read this property to retrieve component-level errors reported by writers. + VSS writers set this property to report errors at the component level. + + An instance of containing the information reported by the writer. + Minimum supported client: Windows 7, Minimum supported server: Windows Server 2008 R2 + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + + + + Exception thrown to indicate that the volume has been added to the maximum number of shadow copy sets. + The specified volume was not added to the shadow copy set. + + + + + Initializes a new instance of the + class with a system-supplied message describing the error. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + The enumeration specifies the type of data that a writer manages. + + + The source of the data is not known.This indicates a writer error, and the requester should report it. + + + The source of the data is a database that supports transactions, such as Microsoft SQL Server. + + + The source of the data is a database that does not support transactions. + + + + Unclassified source type—data will be in a file group. + This is the default source type. + + + + + The class contains the properties of a shadow copy or shadow copy set. + + + + + Initializes a new instance of the class. + + The snapshot id. + The snapshot set id. + The snapshot count. + The snapshot device object. + Name of the original volume. + The originating machine. + The service machine. + Name of the exposed. + The exposed path. + The provider id. + The snapshot attributes. + The creation timestamp. + State of the snapshot. + + + A uniquely identifying the shadow copy identifier. + + + A uniquely identifying the shadow copy set containing the shadow copy. + + + - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . + Number of volumes included with the shadow copy in the shadow copy set when it was created. + Because it is possible for applications to release individual shadow copies without releasing the shadow copy + set, at any given time the number of shadow copies in the shadow copy set may be less than - The logical path can be . + The maximum number of shadow-copied volumes permitted in a shadow copy set is 64. + + + + - There are no restrictions on the characters that can appear in a non-null logical path. + The name of the device object for the shadow copy of the volume. The device object can be thought of as + the root of a shadow copy of a volume. Requesters will use this device name when accessing files on a + shadow-copied volume that it needs to work with. - - - The name of the component. - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . + The device name does not contain a trailing "\". - - The backup stamp to be set. + + + + The name of the volume that had been shadow copied. + + + The name of the machine containing the original volume. + + + The name of the machine running the Volume Shadow Copy Service that created the shadow copy. + + + The name of the shadow copy when it is exposed. This is a drive letter or mount point (if the shadow copy is exposed as a local volume), or a share name. + + + The portion of the shadow copy of a volume made available if it is exposed as a share. + + + A uniquely identifying the provider used to create this shadow copy. + + + + The attributes of the shadow copy expressed as a bit mask (or bitwise OR) of members of + the enumeration. + + + + Time stamp indicating when the shadow copy was created. The exact time is determined by the provider. + + + Current shadow copy creation status. See . + + + + is a class that allows access to component information stored in a Writer Metadata Document. + Instances of are obtained by enumerating . + + + + + Gets a buffer containing the binary data for a displayable icon representing the component. + - This method should be called before . - Only requesters can call this method. - The backup stamp set by applies to all files in the component and any nonselectable Subcomponents it has. - Requesters merely store the backup stamps in the Backup Components Document. They cannot make direct use of the backup stamps, do not know their format, and do not know how to generate them. - Therefore, the value set with should either be retrieved from the stored Backup Components Document of an earlier backup operation (using for the correct component), or from information stored by the requester into its own internal records. - A writer will then obtain this value (using IVssComponent::GetPreviousBackupStamp) and using it will be able to mark the appropriate files for participation in an incremental or differential backup. + The buffer contents should use the same format as the standard icon (.ico) files. If the writer that created + the component did not choose to specify an icon, the value will be . - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. + A buffer containing the binary data for a displayable icon representing the component. + + + + The component type. + + + + + The logical path of the component. + + A string containing the logical path of the component, which may be . + There are no restrictions on the characters that can appear in a non-NULL logical path. + + + + The name of the component. A component name string cannot be . + + + + + The description of the component. A caption string can be . + + + + + Boolean that indicates whether there is private metadata associated with the restoration of the component. + + + The Boolean is if there is private metadata associated with the restoration + of the components, and if there is not. + + + + Reserved for future use. + + + + Boolean that indicates (for component mode operations) if the component is selectable for backup. + + + The value of helps determine whether a requester has the option of including or excluding + a given component in backup operations. + + + if the component is selectable for backup and if it is not. + + VSS_COMPONENTINFO structure on MSDN - + - This method is used when a partial file operation requires a ranges file, and that file has been restored to a location other than its original one. - - Globally unique identifier (GUID) of the writer class containing the files involved in the partial file operation - Type of the component. - - - The logical path of the component containing the files that are participating in the partial file operation. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component containing the files that are participating in the partial file operation. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - - Index number of the partial file. The value of this parameter is an integer between 0 and n-1, - where n is the total number of partial files associated with a given component. The value of n is the number - of items in . - - - The fully qualified path of a ranges file. - + Boolean that indicates (for component-mode operations) whether the component is selectable for restore. + - Calling is not necessary if ranges files are restored in place. - Windows XP and Windows Vista: This method requires Windows Server 2008 or Windows Server 2003 + + allows the requester to determine whether this component can be individually selected + for restore if it had earlier been implicitly included in the backup. + + + + Windows XP: This requires Windows Server 2003 or later. It will always return false on earlier operating systems. + + + + + The Boolean is if the component is selectable for restore and if it is not. + + + + + A bit mask (or bitwise OR) of values of the enumeration, indicating the + features this component supports. + + + + Windows Server 2003 and Windows XP: Before Windows Server 2003 SP1, this member is reserved for system use and + will always return . + - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. - The operation is not supported by the current operating system. - + - Sets a string of private, or writer-dependent, restore parameters for a writer component. + The file descriptors associated with this component. + + This collection represents the method GetFile() of IVssWMComponent in the VSS API + + + + A list of instances containing information about the database backup component files. + + + + + A list of file descriptors for the log files associated with the specified database backup component. + + + + + A list of instances containing accessors for obtaining information about explicit writer-component + dependencies of one of the current components. + + This will always be an empty list on operating systems earlier than Windows Server 2003. + + + + Exception thrown to indicate that the system was unable to thaw the + Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). - Writer identifier. - Type of the component. - - - The logical path of the component. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - The private string of restore parameters. For more information see Setting VSS Restore Options. - - This method must be called before . - - - The exact syntax and content of the restore options set by the parameter of the - method will depend on the specific writer being contacted. - + + Windows Server 2003 and Windows XP: This exception is not supported until Windows Vista. + - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. - + - Defines an overall configuration for a restore operation. + Initializes a new instance of the + class with a system-supplied message describing the error. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + + Exception thrown to indicate an expected provider error. The provider logged the error in the event log. + + + + + Initializes a new instance of the + class with a system-supplied message describing the error. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + + Exception thrown to indicate The system was unable to flush I/O writes. - The type of restore to be performed. - Typically, most restore operations will not need to override the default restore type . - If applications need to call , it should be called prior to calling . - Windows XP: This method requires Windows Vista, Windows Server 2008 or Windows Server 2003 + This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. - + + + Initializes a new instance of the + class with a system-supplied message describing the error. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + This enumeration is used by a writer at backup time to specify through its Writer Metadata Document the default file restore + method to be used with all the files in all the components it manages. + + + + No restore method is defined. + This indicates an error on the part of the writer. + + + - Sets the roll-forward operation type for a component and specifies the restore point for a partial roll-forward operation. + A requester will restore files of a selected component or component set only if there are no versions of those files currently on the disk. - The globally unique identifier (GUID) of the writer class. - Type of the component. - - - The logical path of the component. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - A enumeration value indicating the type of roll-forward operation to be performed. - - A null-terminated wide character string specifying the roll-forward restore point. - The format of this string is defined by the writer, and can be a timestamp, a log sequence number (LSN), or any marker defined by the writer. - - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - This method was not called during a restore operation. - The backup component does not exist. - - - Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. - - + Unless alternate location mappings are defined for file restoration, if a version of any file managed by a selected component or component set is currently on the disk, none of the files managed by the selected component or component set will be restored. + If a file's alternate location mapping is defined, and a version of the files is present on disk at the original location, files will be written to the alternate location as long as no version of the file exists at the alternate location. - + - Indicates whether the specified selectable component is selected for restoration. + A requester will restore files of a selected component or component set only if there are no versions of those files currently on the disk that cannot be overwritten. - - Indicates whether the specified selectable component is selected for restoration. - - Writer identifier. - Type of the component. - - - The logical path of the component. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - - If the value of this parameter is , the selected component has been selected for - restoration. If the value is , the selected component has not been selected for restoration. - - SetSelectedForRestore has meaning only for restores taking place in component mode. - can only be called for components that were explicitly added to the - backup document at backup time using . Restoring a component that was implicitly - selected for backup as part of a component set must be done by calling on the closest - ancestor component that was added to the document. If only this component's data is to be restored, - that should be accomplished through ; this can only be done if the component - is selectable for restore. - This method must be called before . + Unless alternate location mappings are defined for file restoration, if there is a version of any file that cannot be overwritten of the selected component or component set on the disk, none of the files managed by the component or component set will be restored. + If a file's alternate location mapping is defined, files will be written to the alternate location. - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. - indicates whether the specified selectable component is selected for restoration. This method has two overloads. - + - Indicates whether the specified selectable component is selected for restoration to a specified writer instance. + This value is used by a writer to indicates that a given service must be stopped prior to the start of the restore. After the restore operation, the service will be restarted. - Globally unique identifier (GUID) of the writer class. - Type of the component. - - - The logical path of the component. For more information, see - Logical Pathing of Components. - - - The value of the string containing the logical path used here should be the same as was used when the component was - added to the backup set using . - - - The logical path can be . - - - There are no restrictions on the characters that can appear in a non-null logical path. - - - - The name of the component. - - The value of the string should not be , and should contain the same component as was used when the - component was added to the backup set using . - - - - If the value of this parameter is , the selected component has been selected for - restoration. If the value is , the selected component has not been selected for restoration. - - - GUID of the writer instance. - - - SetSelectedForRestore, which moves a component to a different writer instance, can be called only for a - writer that supports running multiple writer instances with the same class ID and supports a requester moving a - component to a different writer instance at restore time. To determine whether a writer provides this support, call - the method. - - - SetSelectedForRestore has meaning only for restores taking place in component mode. - - - SetSelectedForRestore can be called only for components that were explicitly added to the backup document at backup - time using AddComponent. Restoring a component that was implicitly selected for backup as part of a component set must be - done by calling SetSelectedForRestore on the closest ancestor component that was added to the document. If only - this component's data is to be restored, that should be accomplished through the method; - this can be done only if the component is selectable for restore (see - Working with Selectability and Logical Paths). - - - This method must be called before the method. - - - The distinction between the and parameters is necessary because it is - possible that multiple instances of the same writer are running on the computer. - - - If the value of the parameter is , this is equivalent to calling the - . - - - The parameter is used to specify that the component is to be restored to a different writer - instance. If the value of the parameter is not , it must match the - instance ID of a writer instance with the same writer class ID specified in in the parameter. - + The service to be stopped is specified by an argument to IVssCreateWriterMetadata.SetRestoreMethod. + + + + + A requester must restore the files of a selected component or component set to the location specified by the alternate location mapping specified in the writer component metadata file. + + + + + A requester will restore the files of a selected component or component set following a reboot of the system. - A writer's class identifier, instance identifier, and instance name can be found - in the properties of . + Files to be restored should be copied to a temporary location, and the requester should use File.Move with the DelayUntilReboot flag + to complete the restoration of these files to their proper location following reboot. (Using AlphaFS for file operations). - - Windows XP and Windows 2003: This method is not supported until Windows 2003 SP1. - + + + + + If possible, a requester will restore the files of a selected component or component set to their correct location immediately. + + + If there are versions of any of the files managed by the selected component or component set on the disk that cannot be overwritten, then all the files managed by the selected component or component set will be restored following the reboot of the system. + In this case, files to be restored should be copied to a temporary location, and the requester should use File.Move with the DelayUntilReboot flag + to complete the restoration of these files to their proper location following reboot. (Using AlphaFS for file operations). + Windows XP: This value is not supported until Windows Server 2003 - One of the arguments that cannot be was - One of the parameter values is not valid. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The backup component does not exist. - The XML document is not valid. Check the event log for details. - + + + This value indicates that a custom restore method will be used to restore the files managed by the selected component or component set. + + + + + The requester should perform the restore operation as follows: + + Send the PreRestore event and wait for all writers to process it. + Restore the files to their original locations. + Send the PostRestore event and wait for all writers to process it. + Stop the service. + Restart the service. + + The service to be stopped is specified by the writer beforehand when it calls the IVssCreateWriterMetadata::SetRestoreMethod method. + The requester can obtain the name of the service by examining the property. + + + + + Represenation of the status for a specific writer. + + This class acts as a container for the information returned from + IVssBackupComponents.GetWriterStatus in the original + VSS API + + + + Initializes a new instance of the class. + + The writer instance id. + The writer class id. + Name of the writer. + The state. + The failure. + The application error code. + The application error message. + + + + Initializes a new instance of the class. + + The writer instance id. + The writer class id. + Name of the writer. + The state. + The failure. + + + + The instance id of the writer. + + + + + The identifier of the writer class. + + + + + The name of the writer. + + + - Creates a new, empty shadow copy set. + A value containing the state of the writer. - Shadow copy set identifier. - This method must be called before during backup operations. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The creation of a shadow copy is in progress, and only one shadow copy creation operation can be in progress at one time. Either wait to try again or return with a failure error code. - + - Unexposes a shadow copy either by deleting the file share or by removing the drive letter or mount point. + A value indicating the failure code (if any) of the writer. - The shadow copy identifier. The value of this identifier should be the same as the value that was used when the shadow copy was exposed. - One of the parameter values is not valid. - The caller does not have sufficient backup privileges or is not an administrator. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The specified shadow copy does not exist or is not exposed. - Expected provider error. The provider logged the error in the event log. - Unexpected provider error. The error code is logged in the error log. - - Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. - + The following are the supported values for : + + + Value + Meaning + + + + The writer was successful. + + + + The shadow copy contains only a subset of the volumes needed by the writer to correctly back up the application component. + + + + The writer ran out of memory or other system resources. The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. + + + + The writer operation failed because of a time-out between the Freeze and Thaw events. The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. + + + + The writer failed due to an error that would likely not occur if the entire backup, restore, or shadow copy creation process was restarted. The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. + + + + The writer operation failed because of an error that might recur if another shadow copy is created. + + + + The writer is not responding. + + + + + + The writer status is not available for one or more writers. A writer may have reached the maximum number of available backup and restore sessions. + + + Windows Vista, Windows Server 2003 and Windows XP: This value is not supported. + + + + - + - A read-only list containing information about the components of each writer that has been stored in a requester's Backup Components Document. + Gets the return code that the writer passed for the hrApplication parameter of the CVssWriterEx2::SetWriterFailureEx method. - - retrieves component information for a component stored in the Backup Components Document by earlier - calls to . - - - The information in the components stored in the Backup Components Document is not static. If a writer updates a component during a - restore, that change will be reflected in the component retrieved by . This is in contrast with - component information found in the object returned by . - That information is read-only and comes from the Writer Metadata Document of a writer process. - - - The instances that are returned should not be cached, because the following - methods cause the instances that are returned by to - be no longer valid: - - - - - - - - - - If you call one of these methods after you have retrieved a instance by calling - , you cannot reuse that instance, because it is no longer valid. Instead, you must call - again to retrieve a new instance. - + This property requires Windows 7 or Windows Server 2008 R2 and will be on earlier operating systems. - - A read-only list containing information about the components of each writer that has been stored in a requester's Backup Components Document. - This list must not be accessed after the from which it - was obtained has been disposed. - - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - A read-only list containing metadata for the writers running on the systsem. + Gets the application failure message that the writer passed for the wszApplicationMessage parameter of the SetWriterFailureEx method. - - A read-only list containing metadata for the writers running on the system. - This list must not be accessed after the from which it - was obtained has been disposed. - - - A requester must call the asynchronous operation and wait for it - to complete prior to using . - - - Although must be called prior to either a restore or backup operation, - is not typically used for restores. - - - Component information retrieved (during backup operations) using , where the - instance has been returned by , comes from the Writer - Metadata Document of a live writer process. - - - This is in contrast to the information returned by (during restore operations), which was - stored in the Backup Components Document by calls to . - + This property requires Windows 7 or Windows Server 2008 R2 and will be on earlier operating systems. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The XML document is not valid. Check the event log for details. - The specified shadow copy does not exist. - + + + The class is a static utility class for accessing the platform specific + instances of the various VSS interfaces in a platform-independent manner. + + + Use the under normal circumstances to load + the correct assembly and create an instance of from that assembly. If you have + specific requirements on how the assembly should be loaded, or the instance created you are not required to use + these methods but can use the methods in this class for accessing the suggested assembly name to load, and load it manually. + In this case you need to create an instance of the class called Alphaleonis.Win32.Vss.VssImplementation from the platform specific + assembly. This class implements the interface, and has a public parameterless constructor. + + + + + Gets the short name of the platform specific assembly for the platform on which the assembly + is currently executing. + + the short name of the platform specific assembly for the platform on which the assembly + is currently executing. + The operating system could not be detected or is unsupported. + + + + Gets the full name of the platform specific assembly for the platform on which the assembly is currently executing. + + The full name of the platform specific assembly for the platform on which the assembly is currently executing. + The operating system could not be detected or is unsupported. + + + + Loads the assembly containing the correct implementation of the interface + for the operating system on which the assembly is currently executing. + + + Loads the assembly containing the correct implementation of the interface + for the operating system on which the assembly is currently executing, optionally allowing the specification + of an into which to load the assembly. + + + + The assembly will be loaded into the same as the calling assembly. + + + The assemblies are loaded using strong name lookup. They need to be present in the code base directory + of the executing assembly, or installed in the GAC for the lookup to succeed. + + + + An newly created instance of suitable for the + operating system on which the assembly is currently executing. + The operating system could not be detected or is unsupported. + + + + Exception thrown to indicate that the specified snapshot specifies a shadow copy that does not exist in the Backup Components Document. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is null or is zero (0). + + + + + Defines the set of volume shadow copy protection levels. + + + + + Specifies that I/O to the original volume must be maintained at the expense of shadow copies. + This is the default protection level. Shadow copies might be deleted if both of the following conditions occur: + + + + A write to the original volume occurs. + + + + + The integrity of the shadow copy cannot be maintained for some reason, such as a failure to + write to the shadow copy storage area or a failure to allocate sufficient memory. + + + + + + + + Specifies that shadow copies must be maintained at the expense of I/O to the original volume. + All I/O to the original volume will fail if both of the following conditions occur: + + + + A write to the original volume occurs. + + + + + The corresponding write to the shadow copy storage area cannot be completed for some reason, + such as a failure to write to the shadow copy storage area or a failure to allocate sufficient memory. + + + + + + - A read-only list containing the status of the writers. + Defines shadow copy LUN flags. - - A read-only list containing instances representing the returned status for each respective writer. - This list must not be accessed after the from which it - was obtained has been disposed. - - - A requester must call the asynchronous operation and wait for it to - complete prior to using . - + Only supported on Windows Server 2008. - Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - The specified shadow copy does not exist. - + - Exception thrown to indicate that the system was unable to thaw the - Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + The shadow copy LUN will be masked from the host. - - - Windows Server 2003 and Windows XP: This exception is not supported until Windows Vista. - - - + - Initializes a new instance of the - class with a system-supplied message describing the error. + The shadow copy LUN will be exposed to the host as a read-write volume. - + - Initializes a new instance of the class with a specified error message. + The disk identifiers of all of the shadow copy LUNs will be reverted to that of the + original LUNs. However, if any of the original LUNs are present on the system, the operation will + fail and none of the identifiers will be reverted. - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + None of the disk identifiers of the shadow copy LUNs will be reverted. - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + The shadow copy LUNs will be converted permanently to read-write. + This flag is set only as a notification for the provider; no provider action is required. + For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - + - Exception thrown to indicate that the requested object did not exists. + The shadow copy LUNs will be converted temporarily to read-write and are about to undergo TxF recovery + or VSS auto-recovery. This flag is set only as a notification for the provider; no provider action is required. + For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. - + - Initializes a new instance of the + The shadow copy LUNs have just undergone TxF recovery or VSS auto-recovery and have been converted back to + read-only. This flag is set only as a notification for the provider; no provider action is required. + For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. + + + + + The provider must mask shadow copy LUNs from this computer. + For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. + + + + + Exception indicating that the creation of a shadow copy is in progress, and only one shadow copy creation + operation can be in progress at one time. Either wait to try again or return with a failure. + + + + + Initializes a new instance of the class with a system-supplied message describing the error. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with a specified error message. The message that describes the error - + - Initializes a new instance of the class with + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - + + The enumeration is returned by a provider to specify the state of a given shadow copy operation. + + + Reserved for system use.Unknown shadow copy state. + + + Reserved for system use.Shadow copy is being prepared. + + + Reserved for system use.Processing of the shadow copy preparation is in progress. + + + Reserved for system use.Shadow copy has been prepared. + + + Reserved for system use.Processing of the shadow copy precommit is in process. + + + Reserved for system use.Shadow copy is precommitted. + + + Reserved for system use.Processing of the shadow copy commit is in process. + + + Reserved for system use.Shadow copy is committed. + + + Reserved for system use.Processing of the shadow copy postcommit is in process. + + + Reserved for system use.Processing of the shadow copy file commit operation is underway. + + + Reserved for system use.Processing of the shadow copy file commit operation is done. + + + Reserved for system use.Processing of the shadow copy following the final commit and prior to shadow copy create is underway. + + + Shadow copy is created. + + + Reserved for system use.Shadow copy creation is aborted. + + + Reserved for system use.Shadow copy has been deleted. + + + Reserved value. + + - Exception indicating that the requested method is not supported on the current operating system, or the loaded - assembly is targeted for a different operating system than the one on which it is running. + The enumeration is used by requesters to identify an object as + a shadow copy set, shadow copy, or provider. - + - Initializes a new instance of the class. + + The object type is not known. + + + This indicates an application error. + - + - Initializes a new instance of the class. + + The interpretation of this value depends on whether it is used as an + input to a VSS method or returned as an output from a VSS method. + + + When used as an input to a VSS method, it indicates that the method is + not restricted to any particular object type, but should act on all + appropriate objects. In this sense, can be thought + of as a wildcard input. + + + When returned as an output, the object type is not known and means that + there has been an application error. + - The message. - + + Shadow copy set. + + + Shadow copy. + + + Shadow copy provider. + + - Initializes a new instance of the class. + Exception indicating that the writer operation failed because of an error that might recur if another shadow copy is created. + For more information, see Event and Error Handling Under VSS. - The message. - The inner exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error + + + + Initializes a new instance of the class. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + + The parameter is . + + + The class name is or is zero (0). + - + - Represents information stored by a writer, at backup time, to the Backup Components Document to indicate that when a - file is to be restored, it (the source file) should be remapped. The file may be restored to a new restore target - and/or ranges of its data restored to different locations with the restore target. + Exception indicating that the the shadow copy contains only a subset of the volumes needed by the writer to correctly back up the application component. - - Initializes a new instance of the class. - The source path. - The source file name. - The source range list. - The destination path. - The destination file name. - The destination range list. + + + Initializes a new instance of the class. + - + - The path to the directory that at backup time contained the file to be restored (the source file). This path should - match or be beneath the path of a file set already in the component or one of its Subcomponents - (if the component defines a component set). + Initializes a new instance of the class. + The message that describes the error - + - The name of the file (at backup time) that is to be remapped during a restore (the source file). - The name of this file should not contain any wildcard characters, and must be a member of the same - file set as the source path (). + Initializes a new instance of the class. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + + + + + Information about a file set (a specified file or files) to participate in an incremental or differential backup + or restore as a differenced file, that is, backup and restores associated with it are to be implemented as if + entire files are copied to and from backup media (as opposed to using partial files). + + + + Initializes a new instance of the class. + The path to the differenced files. + The file specification of the differenced files. + The time of last modification for the difference files. + if the filespec for the differenced files should be interpreted recursively, otherwise. - + - A comma-separated list of file offsets and lengths indicating the source file - support range (the sections of the file to be restored). + The path to the differenced files. - The number and length of the source file support ranges must match the number and size of destination file support ranges. + Users of this method need to check to determine whether this path ends with a backslash (\). - + + The file specification of the differenced files. + + - The path to which source file data will be remapped at restore time. + Boolean specifying whether the file specification for the differenced files should be interpreted recursively. + If , then the entire directory hierarchy will need to be searched for files matching the + file specification to find files to be handled as differenced files during incremental + or differential backups. If , only the root directory needs to be searched. - + - The name of the file to which source file data will be remapped at restore time. + The writer specification of the time of last modification for the difference files. - + - - A comma-separated list of file offsets and lengths indicating the destination file support range (locations to which - the sections of the source file are to be restored). - - - The number and length of the destination file support ranges must match the number and size of source file support ranges. - + Exception thrown to indicate that the writer infrastructure is not operating properly. + + Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. + - - The enumeration is used by a writer to indicate to a requester the - conditions under which it will handle events generated during a restore operation. - - + - It is not known whether the writer will perform special operations during the restore operation. - This state indicates a writer error. + Initializes a new instance of the + class with a system-supplied message describing the error. - - The writer does not require restore events. + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error - + - Indicates that the writer always expects to handle a PreRestore event, but expects to handle a - PostRestore event only if a restore fails when implementing either a - or - restore method () + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + The message that describes the error + The exception that is the cause of the current exception. - - The writer always performs special operations during the restore operation. + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + - Exception indicating that the maximum number of shadow copy storage areas has been added to - the shadow copy source volume. The specified shadow copy storage volume was not associated - with the specified shadow copy source volume. + Exception thrown to indicate that the volume is not supported by the specified provider. - + - Initializes a new instance of the + Initializes a new instance of the class with a system-supplied message describing the error. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with a specified error message. The message that describes the error - + - Initializes a new instance of the class with + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - + - The VssRollForwardType enumeration is used by a requester to indicate the type of roll-forward operation it is about to perform. + Exception thrown to indicate that the maximum number of volumes has been added to the shadow copy set. + The specified volume was not added to the shadow copy set. - - A requester sets the roll-forward operation type and specifies the restore point for partial roll-forward operations - using . - - + - - No roll-forward type is defined. - - - This indicates an error on the part of the requester. - + Initializes a new instance of the + class with a system-supplied message describing the error. - + - The roll-forward operation should not roll forward through logs. + Initializes a new instance of the class with a specified error message. + The message that describes the error - + - The roll-forward operation should roll forward through all logs. + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + The message that describes the error + The exception that is the cause of the current exception. - + - The roll-forward operation should roll forward through logs up to a specified restore point. + Initializes a new instance of the class. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + + The enumeration is used by a requester to indicate the type of restore operation it is about to perform. + + A requester sets the type of a restore operation using . + + + + - Enumeration used by to indicate the current - processor architecture for which the operating system is targeted and running. + No restore type is defined. + This indicates an error on the part of the requester. - + + The default restore type: A requester restores backed-up data to the original volume from a backup medium. + + - The system is running a 32-bit version of Windows. + + A requester does not copy data from a backup medium, but imports a transportable shadow copy + and uses this imported volume for operations such as data mining. + + + Windows Server 2003, Standard Edition and Windows Server 2003, Web Edition: This value is not supported. All editions of Windows Server 2003 SP1 support this value. + - + + A restore type not currently enumerated. This value indicates an application error. + + - The system is running an Itanium processor. + + The enumeration is used by writers to indicate their support of certain backup + operations—such as incremental or differential backup—on the basis of file sets (a specified file or files). + + + File sets stored in the Writer Metadata Document are tagged with a bit mask (or bitwise OR) of + values indicating the following: + + + + Whether the writer and the requester have to + evaluate a given file set for participation in the specified type of backup operations + + + + + Whether backing up the specified file will require a shadow copy + + + + + + For more information see the MSDN documentation on + VSS_FILE_SPEC_BACKUP_TYPE Enumeration + - + - The system is running a 64-bit version of Windows. + Used on operating systems where this enumeration is not supported, i.e. Windows XP. - + - Unknown architecture. + + A file set tagged with this value must be involved in all types of backup operations. + + + A writer tags a file set with this value to indicate to the requester that it expects a copy of the + current version of the file set to be available following the restore of any backup operation + with a of + . + - + - Represents information about how a writer wants its data to be restored. + A writer tags a file set with this value to indicate to the requester that it + expects a copy of the current version of the file set to be available following + the restore of any backup operation with a of + . - This class is a container for the data returned by . - + - Initializes a new instance of the class. + A writer tags a file set with this value to indicate to the requester that it + expects a copy of the current version of the file set to be available following the + restore of any backup operation with a + of . - The restore method. - The service. - The user procedure. - The writer restore. - if set to true a reboot is required. - The mappings. - This constructor is normally not used by application code. Rather instances of are - returned by various query methods. - + - A value that specifies file overwriting, the use of alternate locations specifying the method that - will be used in the restore operation. + A writer tags a file set with this value to indicate to the requester that it + expects a copy of the current version of the file set to be available following the + restore of any backup operation with a + of . - + - If the value of is , a pointer to a string containing the name - of the service that is started and stopped. Otherwise, the value is . + A file set tagged with this value must be backed up from a shadow copy of a volume + (and never from the original volume) when participating in a backup operation with a + of . - + - Pointer to the URL of an HTML or XML document describing to the user how the restore is to be performed. The value may be . + A file set tagged with this value must be backed up from a shadow copy of a volume + (and never from the original volume) when participating in a backup operation with a + of . - + + + A file set tagged with this value must be backed up from a shadow copy of a volume + (and never from the original volume) when participating in a backup operation with a + of . + + + - A value specifying whether the writer will be involved in restoring its data. + A file set tagged with this value must be backed up from a shadow copy of a volume + (and never from the original volume) when participating in a backup operation with a + of . - - A indicating whether a reboot will be required after the restore operation is complete. - if a reboot will be required and if it will not. - - - The number of alternate mappings associated with the writer. - - + - Static class providing access to information about the operating system under which the - assembly is executing. + The default file backup specification type. A file set tagged with this value must always participate in backup and restore operations. - + - Determines whether the current process is running under WOW64. + The shadow copy requirement for backup. A file set tagged with this value must always be backed up + from a shadow copy of a volume (and never from the original volume) when participating in a backup operation. - - true if the current process is running under WOW64; otherwise, false. - - + - Determines whether the operating system is of the specified version or later. + Exception thrown to indicate that the provider encountered an error that requires the user to restart the computer. - The lowest version for which to return true. - - true if the operating system is of the specified or later; otherwise, false. - + + Windows Server 2003 and Windows XP:This exception is not supported until Windows Vista. + - + - Determines whether operating system is of the specified version or later, allowing specification of - a minimum service pack that must be installed on the lowest version. + Initializes a new instance of the + class with a system-supplied message describing the error. - The minimum required version. - The major version of the service pack that must be installed on the - minimum required version to return true. This can be 0 to indicate that no service pack is required. - - true if the operating system matches the specified with the specified service pack, or if the operating system is of a later version; otherwise, false. - - + - Determines whether the current operating system matches the specified version and has at least the - specified service pack installed. + Initializes a new instance of the class with a specified error message. - The required operating system version. - The required service pack major version number. - - true if the current operating system version matches - and has atleast service pack installed; otherwise, false. - + The message that describes the error - + - Determines whether the assembly is executing on the specified operating system version, and throws - an otherwise. + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. - The operating system version to match. - The current operating system version does not match the specified . + The message that describes the error + The exception that is the cause of the current exception. - + - Determines whether the assembly is executing on the specified operating system version with the - service pack specified installed, and throws an otherwise. + Initializes a new instance of the class. - The operating system version to match. - The major service pack version to match. - The current operating system version does not match the specified , - or the major version of the installed service pack does not match . + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + - Determines whether the assembly is executing under the specified operating system version with - at least the specified service pack installed, and throws an exception otherwise. - - The operating system version to match. - The major service pack version to match. - The current operating system version does not match - the specified with at least service pack . + The enumeration indicates which volume control or file I/O operations are disabled for the + volume that has been shadow copied. + + + None of the other flags. + + + The provider managing the shadow copies for a specified volume does not support defragmentation operations on that volume. + + + The provider managing the shadow copies for a specified volume does not support content index operations on that volume. - + - Determines whether the assembly is executing under one of the specified operating system versions with - at least the specified service pack installed, and throws an exception otherwise. + The class specifies shadow copy provider properties. - The first operating system version to match. - The first major service pack version to match. - The second operating system version to match. - The second major service pack version to match. - The current operating system version does not match - the specified with at least service pack installed, and - it does not match the specified with at least service pack installed. - + - Determines whether the assembly is executing on the specified operating system version or later. - If not, an exception is thrown. + Initializes a new instance of the class. - The minimum operating system version required. - The current operating system is of a version earlier than the specified + The provider id. + Name of the provider. + Type of the provider. + The provider version. + The provider version id. + The class id. - + + Identifies the provider who supports shadow copies of this class. + + + The provider name. + + + The provider type. See for more information. + + + The provider version in readable format. + + + A uniquely identifying the version of a provider. + + + Class identifier of the component registered in the local machine's COM catalog. + + - Determines whether the assembly is executing on the specified operating system version with - the specified service pack installed or any later version of windows. If not, an exception is thrown. + The class contains the properties of a shadow copy source volume. - The minimum operating system version required. - The minimum service pack version required. - The current operating system is of a version earlier - than the specified or the versions match but the operating system does not - have at least the specified service pack version installed. - + - Gets the named version of the operating system. + Initializes a new instance of the class. - The named version of the operating system. + Name of the volume. + Display name of the volume. - + - Gets the numeric version of the operating system. This is the same as returned by - . + Gets the volume name, in \\?\Volume{GUID}\ format. - The numeric version of the operating system. + The volume name, in \\?\Volume{GUID}\ format. - + - Gets the version of the service pack currently installed on the operating system. + Gets a string that can be displayed to the user containing the shortest mount point (for example C:\). - The version of the service pack currently installed on the operating system. - Only the and fields are - used. + A string that can be displayed to the user containing the shortest mount point (for example C:\). - + - Gets the processor architecture for which the operating system is targeted. + The structure describes a shadow copy storage area volume. - The processor architecture for which the operating system is targeted. - If running under WOW64 this will return a 32-bit processor. Use to - determine if this is the case. - - + - The interface contains methods that allow applications to query and - manage shadow copy storage areas generated by the system shadow copy provider. + Initializes a new instance of the class. - - - - - Windows XP: This interface requires Windows Server 2003 or later. - - - - + Name of the volume. + Display name of the volume. + The volume free space. + The volume total space. - + - The method adds a shadow copy storage area association for the specified volume. - If the association is not supported, an exception will be thrown. + Gets the shadow copy storage area volume name, in \\?\Volume{GUID}\ format. - - - Name of the volume that will be the source of shadow copies that is to be associated - with a shadow copy storage area on the volume. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - - Name of the volume that - will contain the shadow copy storage area to be associated with the - volume. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - - Specifies the maximum size, in bytes, of the shadow copy storage area on the volume. - This value must be at least 300 MB, up to the system-wide limit. - - - Windows Server 2003: Prior to - Windows Server 2003 SP1 the shadow copy storage area size was fixed at 100 MB. - - - - - - - Windows XP: This method is not supported until Windows Server 2003. - - - - - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - Unexpected error. The error code is logged in the error log file. - The association between the and volumes already exists. - Expected provider error. The provider logged the error in the event log. - The volume is not NTFS or has insufficient free space. - The maximum number of shadow copy storage areas has been added to the shadow copy source volume. The specified shadow copy storage volume was not associated with the specified shadow copy source volume. + The shadow copy storage area volume name, in \\?\Volume{GUID}\ format. + + + + Gets a string that can be displayed to a user, for example C:\, for the shadow copy storage area volume. + + A string that can be displayed to a user, for example C:\, for the shadow copy storage area volume. - + - The method updates the shadow copy storage area maximum size - for a certain volume. This may not have an immediate effect. + Gets the free space, in bytes, on the shadow copy storage area volume. - - Updates the shadow copy storage area maximum size - for a certain volume. This method has two overloads. - - - - Name of the volume that is the source of shadow copies that are associated with a shadow copy - storage area on the volume. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - - Name of the volume that contains the shadow copy storage area associated with - the volume. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - Specifies the maximum size, in bytes, for the shadow copy storage area to - use for the volume. If this value is zero, the shadow copy storage area will be disabled. - - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - Unexpected error. The error code is logged in the error log file. - The association between the and volumes was not found. - Expected provider error. The provider logged the error in the event log. - The volume does not have sufficient free space. - A shadow copy is currently using the shadow copy storage area. + The free space, in bytes, on the shadow copy storage area volume. - + - The method queries shadow copy storage areas in use by the - original volume associated with the input shadow copy. + Gets the total space, in bytes, on the shadow copy storage area volume. - The snapshot id. - A list of describing the shadow copy storage areas in use by the - shadow copy specified. - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - Unexpected error. The error code is logged in the error log file. - Expected provider error. The provider logged the error in the event log. + The total space, in bytes, on the shadow copy storage area volume.. - + - The method queries shadow copy storage areas in use by the volume specified. + Exception thrown to indicate that the requested identifier does not correspond to a registered provider. - - - Name of the volume that contains shadow copy storage areas. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - A list containing objects describing the shadow - copy storage areas in use by the volume specified. - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - Unexpected error. The error code is logged in the error log file. - Expected provider error. The provider logged the error in the event log. - + - The method queries shadow copy storage areas that physically - reside on the given volume + Initializes a new instance of the + class with a system-supplied message describing the error. - - - Name of the volume that contains shadow copy storage areas. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - A list of objects describing the - shadow copy storage areas that physically reside on the given volume. - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - Unexpected error. The error code is logged in the error log file. - Expected provider error. The provider logged the error in the event log. - + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + + Exception thrown to indicate that the requested object did not exists. + + + + + Initializes a new instance of the + class with a system-supplied message describing the error. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + + The message that describes the error + The exception that is the cause of the current exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + + Exception thrown to indicate that the requested deletion of snapshots did not complete successfully. + + + To get further information about the cause of the error, check the inner exception which is populated with the + original exception that caused the deletion to fail. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified error message. + + The error message. + + + + Initializes a new instance of the class with the specified error message and a reference + to the exception causing this exception to be thrown. + + The error message. + The inner exception. + + + + Initializes a new instance of the class, specifying the number of + successfully deleted snapshots, the id of the snapshot on which the delete operation failed and the exception + causing the delete operation to fail. + + The number of successfully deleted snapshots. + The id of the non deleted snapshot, or if such information is not available. + The inner exception. + + - The method queries volumes that support shadow copy storage - areas (including volumes with disabled shadow copy storage areas). + Initializes a new instance of the class. - - - Name of the original volume that is the source of the shadow copies. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - A list of describing the volumes that support shadow - copy storage areas (including volumes with disabled shadow copy storage areas). - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - Unexpected error. The error code is logged in the error log file. - Expected provider error. The provider logged the error in the event log. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + - The method updates the shadow copy storage area maximum size - for a certain volume. This may not have an immediate effect. + Sets the with information about the exception. - - - Name of the volume that is the source of shadow copies that are associated with a shadow copy - storage area on the volume. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - - Name of the volume that contains the shadow copy storage area associated with - the volume. - - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - Specifies the maximum size, in bytes, for the shadow copy storage area to - use for the volume. If this value is zero, the shadow copy storage area will be disabled. - - - - to indicate that the effect of calling the - method should not continue if - the computer is rebooted; otherwise, . - - - If the parameter is zero, the - parameter must be . - - - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - Unexpected error. The error code is logged in the error log file. - The association between the and volumes was not found. - Expected provider error. The provider logged the error in the event log. - The volume does not have sufficient free space. - A shadow copy is currently using the shadow copy storage area. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is a null reference (Nothing in Visual Basic). + + + + - + - Clears the protection fault state for the specified volume. + Gets the number of successfully deleted snapshots. - - Name of the volume that will be the source of shadow copies that is to be associated - with a shadow copy storage area on the volume. - - - The name of the volume. This parameter is required and cannot be . - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - - The method dismounts the volume and resets the - volume's protection fault member to to allow normal I/O to continue - on the volume. If the volume is not in a faulted state, this method does nothing. - - - - - Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. - - - - - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - The provider for the volume does not support shadow copy protection. - Expected provider error. The provider logged the error in the event log. - The specified volume was not found. + The number of successfully deleted snapshots. - + - Deletes all shadow copy storage areas (also called diff areas) on the specified volume that are not in use. + Gets the non id of the snapshot that failed to be deleted. - - The name of the volume. This parameter is required and cannot be . - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - - Unused shadow copy storage area files are found on storage area volumes when the associated original - volume is offline due to a protection fault. In certain cases, the original volume may be - permanently lost, and calling the method is the only way to - recover the abandoned storage area space. - - - - - Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. - - - - - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - The provider for the volume does not support shadow copy protection. - Expected provider error. The provider logged the error in the event log. - The specified volume was not found. + The id of the snapshot that could not be deleted. + + + + Exception class indicating that the vss object referenced was not in a correct state for the requested operation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified error message. + + The error message. - + - Gets the shadow copy protection level and status for the specified volume. + Initializes a new instance of the class with the specified error message + and a reference to the inner exception that is the cause of this exception. - - The name of the volume. This parameter is required and cannot be . - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - A class instance that contains information about the volume's - shadow copy protection level. - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - The provider for the volume does not support shadow copy protection. - Expected provider error. The provider logged the error in the event log. - The specified volume was not found. - - - - Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. - - - - - - The method gets information about the volume's current protection level. - If the volume is in a faulted state, the member of the - structure contains the current protection fault, - and the member contains the reason why the volume - is in a faulted state. If the volume is not in a faulted state, - the and - members will be zero. - - + The error message. + The inner exception. - + - Sets the shadow copy protection level for an original volume or a shadow copy storage area volume. + Initializes a new instance of the class with serialized data. - - The name of the volume. This parameter is required and cannot be . - - The name of the volume must be in one of the following formats: - - - - The path of a volume mount point with a backslash (\) - - - - - A drive letter with backslash (\), for example, D:\ - - - - - A unique volume name of the form \\?\Volume{GUID}\ (where - GUID is the unique global identifier of the volume) with a backslash (\) - - - - - - - A value from the enumeration that specifies the shadow - copy protection level. - - Caller does not have sufficient backup privileges or is not an administrator. - The caller is out of memory or other system resources. - One of the parameter values is not valid. - One of the arguments was - The provider for the volume does not support shadow copy protection. - Expected provider error. The provider logged the error in the event log. - The specified volume was not found. - - - The method checks the current shadow copy protection - level of the volume. If the volume is in a faulted state and - is specified for the - parameter, dismounts - the volume before setting the protection level. - - - If the current protection level of the volume is the same as the value of the - parameter, - does nothing. - - - - - Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008. - - - - + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). @@ -4348,2589 +4442,3568 @@ All editions of Windows Server 2003 SP1 support this attribute. - + + + The shadow copy is not currently exposed. + Unless the shadow copy is explicitly exposed or mounted, this attribute is set for all shadow copies. + This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + + + + + The shadow copy is not transacted. + A requester can modify a shadow copy context with a bitwise OR of this attribute. By doing this, the requester instructs VSS to + disable built-in integration between VSS and transaction and resource managers. + Setting this attribute guarantees that the requester will not receive errors. However, it may + cause unwanted consequences, such as the loss of transactional integrity or even data loss. + Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + + + + + Indicates that a given provider is a hardware-based provider. + This attribute is automatically set for hardware-based providers. + This enumeration value cannot be used to manually set the context (using the method) + of a shadow copy by a bit mask (or bitwise OR) of this enumeration value and a valid shadow copy context value from + . + + + + + Indicates that a given provider uses differential data or a copy-on-write mechanism to implement shadow copies. + A requester can modify a shadow copy context with a bitwise OR of this attribute. By doing this, the requester instructs providers + to create a shadow copy using a differential implementation. If no shadow copy provider installed on the system supports the + requested attributes, a error will be returned to . + + + + + Indicates that a given provider uses a PLEX or mirrored split mechanism to implement shadow copies. + A requester can modify a shadow copy context with a bitwise OR of this attribute. By doing this, the requester instructs the providers to create a shadow copy using a PLEX implementation. If no shadow copy provider installed on the system supports the requested + attributes, a error will be returned to . + + + + + The shadow copy of the volume was imported onto this machine using the method + rather than created using the method. + This attribute is automatically set if a shadow copy is imported. + This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + + + + + The shadow copy is locally exposed. If this bit flag and the ExposedRemotely bit flag are not set, + the shadow copy is hidden. + The attribute is automatically added to a shadow copy context upon calling the + method to expose a shadow copy locally. + This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + + + + + The shadow copy is remotely exposed. If this bit flag and the ExposedLocally bit flag are not set, the shadow copy is hidden. + The attribute is automatically added to a shadow copy context upon calling the + method to expose a shadow copy locally. + This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + + + + + Indicates that the writer will need to auto-recover the component in CVssWriter::OnPostSnapshot. + This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + + + + + Indicates that the writer will need to auto-recover the component in CVssWriter::OnPostSnapshot if the shadow copy is being used + for rollback (for data mining, for example). + A requester would set this flag in the shadow copy context to indicate that the shadow copy is being created for a non-backup + purpose such as data mining. + + + + + Reserved for system use. + Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008. + + + + + Indicates that TxF recovery should be enforced during shadow copy creation. + Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008. + + + + + The enumeration enables a requester using to specify how a + shadow copy is to be created, queried, or deleted and the degree of writer involvement. + ::SetContext" method) may be modified by a bitmask that contains a valid combination of + and enumeration values. + + is defined as a static class defining the base + combination of values representing the VSS_CTX_XXXXXX constants defined in the VSS API. + + + + + + The standard backup context. Specifies an auto-release, nonpersistent shadow copy in which writers are involved in the creation. + + + + + Specifies a nonpersistent and auto-release shadow copy created without writer involvement. + + + + + Specifies a persistent and non-auto-release shadow copy without writer involvement. This context should be used when there is no need for writer involvement to ensure that files are in a consistent state at the time of the shadow copy. + Lightweight automated file rollback mechanisms or persistent shadow copies of file shares or data volumes that are not expected to contain any system-related files or databases might run under this context. For example, a requester could use this context for creating a shadow copy of a NAS volume hosting documents and simple user shares. Those types of data do not need writer involvement to create a consistent shadow copy. + + + + + Specifies a persistent and non-auto-release shadow copy with writer involvement. This context is designed to be used when writers are needed to ensure that files are in a well-defined state prior to shadow copy. + Automated file rollback mechanisms of system volumes and shadow copies to be used in data mining or restore operations might run under this context. This context is similar to VSS_CTX_BACKUP but allows a requester more control over the persistence of the shadow copy. + + + + + Specifies a read-only, client-accessible shadow copy supporting Shadow Copies for Shared Folders and created without writer involvement. Only the system provider (the default provider available on the system) can create this type of shadow copy. + Most requesters will want to use the context for persistent, non-auto-release shadow copies without writer involvement. + + + + + Specifies a read-only, client-accessible shadow copy supporting Shadow Copies for Shared Folders and created with writer involvement. Only the system provider (the default provider available on the system) can create this type of shadow copy. + Most requesters will want to use the context for persistent, non-auto-release shadow copies with writer involvement. + Windows Server 2003 and Windows XP: This context is not supported by Windows Server 2003 and Windows XP. + + + - The shadow copy is not currently exposed. - Unless the shadow copy is explicitly exposed or mounted, this attribute is set for all shadow copies. - This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + All types of currently live shadow copies are available for administrative operations, such as shadow copy queries + (see the Query method in ). is a valid context for all VSS interfaces except + ::StartSnapshotSet and ::DoSnapshotSet. - + - The shadow copy is not transacted. - A requester can modify a shadow copy context with a bitwise OR of this attribute. By doing this, the requester instructs VSS to - disable built-in integration between VSS and transaction and resource managers. - Setting this attribute guarantees that the requester will not receive errors. However, it may - cause unwanted consequences, such as the loss of transactional integrity or even data loss. - Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + The enumeration defines the set of statuses of a file restore operation performed on + the files managed by a selected component or component set. + + See MSDN documentation on VSS_FILE_RESTORE_STATUS for more information. + - + - Indicates that a given provider is a hardware-based provider. - This attribute is automatically set for hardware-based providers. - This enumeration value cannot be used to manually set the context (using the method) - of a shadow copy by a bit mask (or bitwise OR) of this enumeration value and a valid shadow copy context value from - . + + The restore state is undefined. + + + This value indicates an error, or indicates that a restore operation has not yet started. + - + - Indicates that a given provider uses differential data or a copy-on-write mechanism to implement shadow copies. - A requester can modify a shadow copy context with a bitwise OR of this attribute. By doing this, the requester instructs providers - to create a shadow copy using a differential implementation. If no shadow copy provider installed on the system supports the - requested attributes, a error will be returned to . + + No files were restored. + + + This value indicates an error in restoration that did not leave any restored files on disk. + - + - Indicates that a given provider uses a PLEX or mirrored split mechanism to implement shadow copies. - A requester can modify a shadow copy context with a bitwise OR of this attribute. By doing this, the requester instructs the providers to create a shadow copy using a PLEX implementation. If no shadow copy provider installed on the system supports the requested - attributes, a error will be returned to . + All files were restored. This value indicates success and should be set for each component that was restored successfully. - + - The shadow copy of the volume was imported onto this machine using the method - rather than created using the method. - This attribute is automatically set if a shadow copy is imported. - This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + + The restore process failed. + + + This value indicates an error in restoration that did leave some restored files on disk. This means the components on disk are now corrupt. + - + - The shadow copy is locally exposed. If this bit flag and the ExposedRemotely bit flag are not set, - the shadow copy is hidden. - The attribute is automatically added to a shadow copy context upon calling the - method to expose a shadow copy locally. - This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + Used by a requester to specify how a resynchronization operation is to be performed. - + - The shadow copy is remotely exposed. If this bit flag and the ExposedLocally bit flag are not set, the shadow copy is hidden. - The attribute is automatically added to a shadow copy context upon calling the - method to expose a shadow copy locally. - This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + No options. - + - Indicates that the writer will need to auto-recover the component in CVssWriter::OnPostSnapshot. - This attribute should not be used explicitly by requesters when setting the context of a shadow copy. + After the resynchronization operation is complete, the signature of each target LUN should be identical to that of the original LUN that was used to create the shadow copy. - + - Indicates that the writer will need to auto-recover the component in CVssWriter::OnPostSnapshot if the shadow copy is being used - for rollback (for data mining, for example). - A requester would set this flag in the shadow copy context to indicate that the shadow copy is being created for a non-backup - purpose such as data mining. + Volume safety checks should not be performed. - + - Reserved for system use. - Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008. + The class is used by a requester to poll writers about file status and to run backup/restore operations. + + + + + + A object can be used for only a single backup, restore, or Query operation. + + + After the backup, restore, or Query operation has either successfully finished or been explicitly terminated, a requester must + release the object by calling Dispose(). + A object must not be reused. For example, you cannot perform a backup or restore operation with the + same object that you have already used for a Query operation. + + + For information on how to retrieve an instance of for the current operating system, see + and . + + - + - Indicates that TxF recovery should be enforced during shadow copy creation. - Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008. + The AbortBackup method notifies VSS that a backup operation was terminated. + + This method must be called if a backup operation terminates after the creation of a shadow copy set with + and before returns. + + + If AbortBackup is called and no shadow copy or backup operations are underway, it is ignored. + + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized. - + - Exception thrown to indicate that the system was unable to freeze the Distributed Transaction Coordinator (DTC) - or the Kernel Transaction Manager (KTM). + The AddAlternativeLocationMapping method is used by a requester to indicate that an alternate location + mapping was used to restore all the members of a file set in a given component. - - - Windows Server 2003 and Windows XP: This exception is not supported until Windows Vista. - - + Globally unique identifier (GUID) of the writer class that exported the component. + Type of the component. + + String containing the logical path to the component. The logical path can be . + There are no restrictions on the characters that can appear in a non-null logical path. + + The component name. + + + The path to the directory that originally contained the + file to be relocated. This path must be local to the VSS machine. + + + The path can contain environment variables (for example, %SystemRoot%) but cannot contain wildcard characters. + UNC paths are not supported. + + + There is no requirement that the path end with a backslash ("\"). It is up to applications that retrieve + this information to check. + + + String containing the original file specification. A file specification cannot + contain directory specifications (for example, no backslashes) but can contain the ? and * wildcard characters. + + Boolean indicating whether the path specified by the parameter identifies only a single + directory or if it indicates a hierarchy of directories to be traversed recursively. The Boolean is true if the + path is treated as a hierarchy of directories to be traversed recursively and false if not. + + The name of the directory where the file will be relocated. This path must be local to the VSS machine. + UNC paths are not supported. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The XML document is not valid. Check the event log for details. + The specified component does not exist. - + - Initializes a new instance of the - class with a system-supplied message describing the error. + The AddComponent method is used to explicitly add to the backup set in the Backup Components Document all required + components (nonselectable for backup components without a selectable for backup ancestor), and such optional + (selectable for backup) components as the requester considers necessary. Members of component sets (components with + a selectable for backup ancestor) are implicitly included in the backup set, but are not explicitly added to the Backup + Components Document. + Identifies a specific instance of a writer. + Writer class identifier. + Identifies the type of the component. + + String containing the logical path of the selectable for backup component. + A logical path is not required when adding a component. Therefore, the value of this parameter can be . + There are no restrictions on the characters that can a logical path. + + + String containing the name of the selectable for backup component. + The value of this parameter cannot be . + There are no restrictions on the characters that can appear in a logical path. + + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The XML document is not valid. Check the event log for details. + The object is a duplicate. A component with the same logical path and component name already exists. - + - Initializes a new instance of the class with a specified error message. + The AddNewTarget method is used by a requester during a restore operation to indicate that the backup application plans + to restore files to a new location. - The message that describes the error + Globally unique identifier (GUID) of the writer class containing the files that are to receive a new target. + Identifies the type of the component, see the documentation for for more information. + + String containing the logical path of the component containing the files that are to receive a new restore target. + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + The logical path can be . + There are no restrictions on the characters that can appear in a non-null logical path. + + + The name of the component containing the files that are to receive a new restore target. + The string should not be and should contain the same component name as was used when the + component was added to the backup set using . + There are no restrictions on the characters that can appear in a non-NULL logical path. + + + The name of the directory or directory hierarchy containing the files to receive a new restore target. + The path can contain environment variables (for example, %SystemRoot%) but cannot contain wildcard characters. + There is no requirement that the path end with a backslash ("\"). It is up to applications that retrieve this information to check. + + + The file specification of the files to receive a new restore target. + A file specification cannot contain directory specifications (for example, no backslashes) but can contain the ? and * wildcard characters. + + Boolean indicating whether only the files in the directory defined by and matching the file + specification provided by are to receive a new restore target, or if all files in the hierarchy defined + by and matching the file specification provided by are to receive a new restore target. + + The fully qualified path of the new restore target directory. + This method is not supported on Windows XP + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The component does not exist or the path and file specification do not match a component and file specification in the component. + The XML document is not valid. Check the event log for details. + The operation is not supported on the current operating system. - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + The AddRestoreSubcomponent method indicates that a Subcomponent member of a component set, which had been marked as + nonselectable for backup but is marked selectable for restore, is to be restored irrespective of whether any other member + of the component set will be restored. - The message that describes the error - The exception that is the cause of the current exception. + Globally unique identifier (GUID) of the writer class containing the files that are to receive a new target. + Identifies the type of the component, see the documentation for for more information. + + String containing the logical path of the component in the backup document that defines the backup component set containing the Subcomponent to be added for restore. + The logical path can be . + There are no restrictions on the characters that can appear in a non-null logical path. + + + The logical path of the component in the backup document that defines the backup component set containing the Subcomponent to be added for restore. + The string should not be and should contain the same component name as was used when the + component was added to the backup set using . + There are no restrictions on the characters that can appear in a non-NULL component name. + + + The logical path of the Subcomponent to be added for restore. + A logical path is required when adding a Subcomponent. Therefore, the value of this parameter cannot be . + There are no restrictions on the characters that can appear in a non-NULL logical path. + + + The logical name of the Subcomponent to be added for restore. + The value of this parameter cannot be . + There are no restrictions on the characters that can appear in a non-NULL component name. + + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The component does not exist. + The XML document is not valid. Check the event log for details. - + - Initializes a new instance of the class. + The method adds an original volume to the shadow copy set. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - + String containing the name of the volume to be shadow copied. The name must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form "\\?\Volume{GUID}\" (where GUID is the unique global identifier of the volume) with a backslash (\) + + + The provider to be used. can be used, in which case the default provider will be used. + Identifier of the added shadow copy. + - The enumeration represents error- and success codes that may be - returned by some Vss methods. + The maximum number of shadow copies in a single shadow copy set is 64. - - - - Indication of a successful operation. - - - - The asynchronous operation was cancelled. - - - - - The asynchronous operation was completed successfully. - + If is , the default provider is selected according to the following algorithm: + + If any hardware-based provider supports the given volume, it is selected. + If there is no hardware-based provider available, if any software-based provider supports the given volume, it is selected. + If there is no hardware-based provider or software-based provider available, the system provider is selected. (There is only one preinstalled system provider, which must support all nonremovable local volumes.) + + + + Caller does not have sufficient backup privileges or is not an administrator. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The maximum number of volumes has been added to the shadow copy set. The specified volume was not added to the shadow copy set. + The volume has been added to the maximum number of shadow copy sets. The specified volume was not added to the shadow copy set. + does not correspond to an existing volume. + does not correspond to a registered provider. + Expected provider error. The provider logged the error in the event log. + The value of the parameter is and no VSS provider indicates that it supports the specified volume. + The volume is not supported by the specified provider. + The provider returned an unexpected error code. - + - The asynchronous operation is still running. + The method adds an original volume to the shadow copy set using the default provider. + String containing the name of the volume to be shadow copied. The name must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form "\\?\Volume{GUID}\" (where GUID is the unique global identifier of the volume) with a backslash (\) + + + Identifier of the added shadow copy. + + + The maximum number of shadow copies in a single shadow copy set is 64. + + + Caller does not have sufficient backup privileges or is not an administrator. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The maximum number of volumes has been added to the shadow copy set. The specified volume was not added to the shadow copy set. + The volume has been added to the maximum number of shadow copy sets. The specified volume was not added to the shadow copy set. + does not correspond to an existing volume. + Expected provider error. The provider logged the error in the event log. + No VSS provider indicates that it supports the specified volume. + The volume is not supported by the specified provider. + The provider returned an unexpected error code. - + - Unexpected error. The error code is logged in the error log file. + This method causes VSS to generate a BackupComplete event, which signals writers that the backup + process has completed. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + An unexpected error occurred during communication with writers. The error code is logged in the error log file. - + - A method call was made when the object was in an incorrect state - for that method. + This method asynchronously causes VSS to generate a BackupComplete event, which signals writers that the backup + process has completed. + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginBackupComplete or + in a callback passed to BeginBackupComplete. + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + + An instance that represents this asynchronous operation. + - + - The provider has already been registered. + Waits for a pending asynchronous operation to complete. + + EndBackupComplete can be called once on every from . + + The reference to the pending asynchronous request to finish. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + An unexpected error occurred during communication with writers. The error code is logged in the error log file. - + + - The specified identifier does not correspond to a registered provider. + The BreakSnapshotSet method causes the existence of a shadow copy set to be "forgotten" by VSS. - - + - The provider was unable to perform the request at this time. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + The BreakSnapshotSet method causes the existence of a shadow copy set to be "forgotten" by VSS. + Shadow copy set identifier. + BreakSnapshotSet can be used only for shadow copies created by a hardware shadow copy provider. This method makes these shadow copies regular volumes. + The caller does not have sufficient backup privileges or is not an administrator. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The shadow copy was created by a software provider and cannot be broken. + The specified shadow copy does not exist. - + - The shadow copy provider is currently in use and cannot be unregistered. + The DeleteSnapshot method deletes a shadow copy.. + Identifier of the shadow copy to be deleted. + If the value of this parameter is , the provider will do everything possible to delete the shadow copy. If it is , no additional effort will be made. + + + The requester is responsible for serializing the delete shadow copy operation. + + + During a backup, shadow copies are automatically released as soon as the instance is + disposed. In this case, it is not necessary to explicitly delete shadow copies. + + + The caller does not have sufficient backup privileges or is not an administrator. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The specified shadow copy does not exist. + Expected provider error. The provider logged the error in the event log. + Unexpected provider error. The error code is logged in the error log. - + - The specified object was not found. + The DeleteSnapshotSet method deletes a shadow copy set including any shadow copies in that set. + Identifier of the shadow copy set to be deleted. + + If the value of this parameter is , the provider will do everything possible to + delete the shadow copies in a shadow copy set. If it is , no additional effort will be made. + + + + Multiple shadow copies in a shadow copy set are deleted sequentially. If an error occurs during one of these individual + deletions, DeleteSnapshotSet will throw an exception immediately; no attempt will be made to delete any remaining shadow copies. + The identifier of the undeleted shadow copy can be found in the instance of thrown. + + + The requester is responsible for serializing the delete shadow copy operation. + + + During a backup, shadow copies are automatically released as soon as the instance is + disposed. In this case, it is not necessary to explicitly delete shadow copies. + + + The deletion failed. This is the only exception actually thrown by this method. It + wraps one of the other exceptions listed in this section as its inner exception. + The caller does not have sufficient backup privileges or is not an administrator. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The specified shadow copy does not exist. + Expected provider error. The provider logged the error in the event log. + Unexpected provider error. The error code is logged in the error log. + The total number of snapshots that were deleted - + - No VSS provider indicates that it supports the specified volume. + This method prevents a specific class of writers from receiving any events. + An array containing one or more writer class identifiers. + The caller does not have sufficient backup privileges or is not an administrator. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The volume is not supported by the specified provider. + This method disables a specified writer instance or instances. + An array containing one or more writer instance identifiers. + The caller does not have sufficient backup privileges or is not an administrator. + One of the parameters is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The object already exists. + Commits all shadow copies in this set simultaneously. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object has not been initialized or the prerequisite calls for a given shadow copy context have not been made prior to calling DoSnapshotSet. + The system or provider has insufficient storage space. If possible delete any old or unnecessary persistent shadow copies and try again. + The system was unable to flush I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + The system was unable to hold I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + The provider was unable to perform the request at this time. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + + + The provider encountered an error that requires the user to restart the computer. + + + Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + + + + + The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + + + Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + + + + + The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + + + Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + + + The provider returned an unexpected error code. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - + - The provider returned an unexpected error code. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + Commits all shadow copies in this set simultaneously as an asynchronous operation. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An instance that represents this asynchronous operation. + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginDoSnapshotSet or + in a callback passed to BeginDoSnapshotSet. + - + - The given XML document is invalid. It is either incorrectly-formed XML or it does not match the schema. + Waits for a pending asynchronous operation to complete. + + EndDoSnapshotSet can be called once on every from . + + The reference to the pending asynchronous request to finish. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object has not been initialized or the prerequisite calls for a given shadow copy context have not been made prior to calling DoSnapshotSet. + The system or provider has insufficient storage space. If possible delete any old or unnecessary persistent shadow copies and try again. + The system was unable to flush I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + The system was unable to hold I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + The provider was unable to perform the request at this time. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + + + The provider encountered an error that requires the user to restart the computer. + + + Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + + + + + The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + + + Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + + + + + The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + + + Windows Server 2003 and Windows XP: This value is not supported until Windows Vista. + + + The provider returned an unexpected error code. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - - - The maximum number of volumes has been added to the shadow copy set. The specified volume was not added to the shadow copy set. - + + + The EnableWriterClasses method enables the specified writers to receive all events. + + An array containing one or more writer class identifiers. + + + + Once this method is called, only enabled writer classes are subsequently called. + + + must be called prior to . To obtain information about the writers + currently running on the system, it may be necessary to call from another instance of the + class. + + + After is called, these calls have no effect. + + + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - VSS encountered problems while sending events to writers. + The ExposeSnapshot method exposes a shadow copy either by mounting it as a device on a drive letter or mount point, or + as a file share. + Shadow copy identifier. + + The path to the portion of the volume made available when exposing a shadow copy as a file share. The value of this parameter must be NULL when exposing a shadow copy locally; that is, by mounting to a drive letter or a mount point. + The path cannot contain environment variables (for example, %MyEnv%) or wildcard characters. + There is no requirement that the path end with a backslash ("\"). It is up to applications that retrieve this information to check. + + Attributes of the exposed shadow copy indicating whether it is exposed locally or remotely. The value must + be either the or the + value of . + When a shadow copy is exposed as a file share, the value of this parameter is the share name. If a shadow copy + is exposed by mounting it as a device, the parameter value is a drive letter followed by a colon, for example, "X:" or a mount point + path (for example, "X:\a\b"). If the value of this parameter is , then VSS determines the share name or drive + letter if the parameter is . + The exposed name of the shadow copy. This is either a share name, a drive letter followed by a colon, or a mount point. + + When exposing a persistent shadow copy, it remains exposed through subsequent boots. + When exposing a shadow copy of a volume, the shadow copy may be treated either as a mountable device or as a file system available for file sharing. + When it is exposed as a device, as with other mountable devices, the shadow copy of a volume is exposed at its mount point starting with its root. + When exposed as a file share, subsets (indicated by ) of the volume can be shared. + + One of the parameter values is not valid. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified shadow copy does not exist. + Expected provider error. The provider logged the error in the event log. + Unexpected provider error. The error code is logged in the error log. - - - Another shadow copy creation is already in progress. Please wait a few moments and try again. - - - + - The volume has been added to the maximum number of shadow copy sets. The specified volume was not added to the shadow copy set. + The FreeWriterMetadata method frees system resources allocated when was called. + + + This method should never be called prior to the completion of . + The result of calling the method prior to completion of the metadata gather is undefined. + + + Once writer metadata has been freed, it cannot be recovered by the current instance of the class. + It will be necessary to create a new instance of , and call the + method again. + + + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - An error was detected in the Volume Shadow Copy Service (VSS). The problem occurred while trying to contact VSS writers. - Please verify that the Event System service and the VSS service are running and check for associated errors in the event logs. + The FreeWriterStatus method frees system resources allocated during the call to . + The caller is out of memory or other system resources. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - A writer did not respond to a GatherWriterStatus call. The writer may either have terminated - or it may be stuck. Check the system and application event logs for more information. + The method prompts each writer to send the metadata they have collected. The method will generate an Identify event to communicate with writers. + should be called only once during the lifetime of a given object. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. - + - The writer has already sucessfully called the Subscribe function. It cannot call - subscribe multiple times. + The method asynchronously prompts each writer to send the metadata they have collected. + The method will generate an Identify event to communicate with writers. + + should be called only once during the lifetime of a given object. + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginGatherWriterMetadata or + in a callback passed to BeginGatherWriterMetadata. + + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An instance that represents this asynchronous operation. - + - The shadow copy provider does not support the specified shadow copy type. + Waits for a pending asynchronous operation to complete. + + EndGatherWriterMetadata can be called once on every from . + + The reference to the pending asynchronous request to finish. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. - + - The specified shadow copy storage association is in use and so can't be deleted. + The method prompts each writer to send a status message. + The caller of this method should also call after receiving the status of each writer. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. - + - Maximum number of shadow copy storage associations already reached. + The method asynchronously prompts each writer to send a status message. + + The caller of this method should also call after receiving the status of each writer. + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginGatherWriterStatus or + in a callback passed to BeginGatherWriterStatus. + + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An instance that represents this asynchronous operation. - + - The system or provider has insufficient storage space. If possible delete any old or unnecessary persistent shadow copies and try again. + Waits for a pending asynchronous operation to complete. + + EndGatherWriterStatus can be called once on every from . + + The reference to the pending asynchronous request to finish. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The writer infrastructure is not operating properly. Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. - + - No shadow copies were successfully imported. + The method gets the properties of the specified shadow copy. + The identifier of the shadow copy of a volume as returned by . + A instance containing the shadow copy properties. + The caller does not have sufficient backup privileges or is not an administrator. + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified shadow copy does not exist. + Expected provider error. The provider logged the error in the event log. + Unexpected provider error. The error code is logged in the error log. - + - Some shadow copies were not succesfully imported. + The ImportSnapshots method imports shadow copies transported from a different machine. + This method is supported only on Windows Server operating systems. + + Only one shadow copy can be imported at a time. + The requester is responsible for serializing the import shadow copy operation. + For more information see the MSDN documentation on IIVssBackupComponents::ImportSnapshots Method + Requires Windows Server 2008, Windows Server 2003 SP1, Windows Server 2003, Enterprise Edition, or Windows Server 2003, Datacenter Edition. + + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - Some shadow copies were not succesfully imported. + The method asynchronously imports shadow copies transported from a different machine. + This method is supported only on Windows Server operating systems. + + Only one shadow copy can be imported at a time. + The requester is responsible for serializing the import shadow copy operation. + For more information see the MSDN documentation on IIVssBackupComponents::ImportSnapshots Method + Requires Windows Server 2008, Windows Server 2003 SP1, Windows Server 2003, Enterprise Edition, or Windows Server 2003, Datacenter Edition. + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginImportSnapshots or + in a callback passed to BeginImportSnapshots. + + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An instance that represents this asynchronous operation. - + - The maximum number of remote machines for this operation has been reached. + Waits for a pending asynchronous operation to complete. + + EndImportSnapshots can be called once on every from . + + The reference to the pending asynchronous request to finish. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The remote server is unavailable. + The method initializes the backup components metadata in preparation for backup. + + + During imports of transported shadow copies, this parameter must be the original document generated when creating the saved + shadow copy and saved using . + + + This parameter may be + + + + The XML document supplied to this method initializes the object with metadata previously stored by + a call to . Users should not tamper with this metadata document. + + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The XML document is not valid. Check the event log for details. - + - The remote server is running a version of the Volume Shadow Copy Service that does not - support remote shadow-copy creation. + The method initializes the IIVssBackupComponents interface in preparation for a restore operation. + + XML string containing the Backup Components Document generated by a backup operation and saved by + . + + + The XML document supplied to this method initializes the object with metadata previously stored by a call to + . Users should not tamper with this metadata document. + + is + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The load operation of the specified XML document failed. - + - A revert is currently in progress for the specified volume. Another revert - cannot be initiated until the current revert completes. + The IsVolumeSupported method determines whether the specified provider supports shadow copies on the specified volume. + + Provider identifier. If the value is , checks whether any provider + supports the volume. + + Name of the volume. The name of the volume to be checked must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) + + if shadow copies are supported on the specified volume. If the value is , shadow + copies are not supported on the specified volume. + + + will return if it is possible to create shadow copies on the given volume, + even if the current configuration does not allow the creation of shadow copies on that volume at the present time. + + + For example, if the maximum number of shadow copies has been reached on a given volume (and therefore no more shadow copies + can be created on that volume), the method will still indicate that the volume can be shadow copied. + + + is + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified volume was not found or was not available. - + - The volume being reverted was lost during revert. + The IsVolumeSupported method determines whether any provider supports shadow copies on the specified volume. + Name of the volume. The name of the volume to be checked must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) + + if shadow copies are supported on the specified volume. If the value is , shadow + copies are not supported on the specified volume. + + + will return if it is possible to create shadow copies on the given volume, + even if the current configuration does not allow the creation of shadow copies on that volume at the present time. + + + For example, if the maximum number of shadow copies has been reached on a given volume (and therefore no more shadow copies + can be created on that volume), the method will still indicate that the volume can be shadow copied. + + + is + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified volume was not found or was not available. - + - The provider encountered an error that requires the user to restart the computer. - Windows Server 2003 and Windows XP:This value is not supported until Windows Vista. + The method will cause VSS to generate a PostRestore event, signaling writers that the current + restore operation has finished. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified volume was not found or was not available. + Expected provider error. The provider logged the error in the event log. - + - The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). - Windows Server 2003 and Windows XP:This value is not supported until Windows Vista. + The method will asynchronously cause VSS to generate a PostRestore event, signaling writers that the current + restore operation has finished. + + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginPostRestore or + in a callback passed to BeginPostRestore. + + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An instance that represents this asynchronous operation. - + - The system was unable to thaw the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). - Windows Server 2003 and Windows XP:This value is not supported until Windows Vista. + Waits for a pending asynchronous operation to complete. + + EndGatherWriterStatus can be called once on every from . + + The reference to the pending asynchronous request to finish. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified volume was not found or was not available. + Expected provider error. The provider logged the error in the event log. - + - The shadow copy contains only a subset of the volumes needed by the writer to correctly back - up the application component. + The method will cause VSS to generate a PrepareForBackup event, signaling writers to prepare for an upcoming + backup operation. This makes a requester's Backup Components Document available to writers. + + + generates a PrepareForBackup event, which is handled by each instance of each writer + through the CVssWriter::OnPrepareBackup method. + + + Before PrepareForBackup can be called, must be called. + + + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The writer ran out of memory or other system resources. The recommended way to handle this error code is - to wait ten minutes and then repeat the operation, up to three times. + The method will asynchronously cause VSS to generate a PrepareForBackup event, signaling writers to prepare for an upcoming + backup operation. This makes a requester's Backup Components Document available to writers. + + + generates a PrepareForBackup event, which is handled by each instance of each writer + through the CVssWriter::OnPrepareBackup method. + + + Before PrepareForBackup can be called, must be called. + + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginPrepareForBackup or + in a callback passed to BeginPrepareForBackup. + + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An instance that represents this asynchronous operation. - + - The writer operation failed because of a time-out between the Freeze and Thaw events. - The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. + Waits for a pending asynchronous operation to complete. + + EndGatherWriterStatus can be called once on every from . + + The reference to the pending asynchronous request to finish. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The writer failed due to an error that would likely not occur if the entire backup, restore, or shadow copy creation - process was restarted. The recommended way to handle this error code is to wait ten minutes and then repeat - the operation, up to three times. + The method will cause VSS to generate a PreRestore event, signaling writers to prepare for a + coming restore operation. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The writer experienced a non-transient error. If the backup process is retried, - the error is likely to reoccur. + The method will asynchronously cause VSS to generate a PreRestore event, signaling writers to prepare for a + coming restore operation. + + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginPreRestore or + in a callback passed to BeginPreRestore. + + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An instance that represents this asynchronous operation. - + - The writer experienced an error while trying to recover the shadow-copy volume. + Waits for a pending asynchronous operation to complete. + + EndGatherWriterStatus can be called once on every from . + + The reference to the pending asynchronous request to finish. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The shadow copy set break operation failed because the disk/partition identities could not be reverted. - The target identity already exists on the machine or cluster and must be masked before this operation can succeed. + The method queries the completed shadow copies in the system that reside in the current context. + The method can be called only during backup operations. + A list of objects representing the requested information. + + + Because returns only information on completed shadow copies, the only shadow copy state it can disclose + is . + + + The method may be called only during backup operations and must be preceded by calls to and + . + + + The method will return only information + about shadow copies with the current context (set by ). For instance, if the + context is set to , will not + return information on a shadow copy created with a context of . + + + One of the parameter values is not valid. + The caller is not an administrator or a backup operator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The queried object is not found. + Expected provider error. The provider logged the error in the event log. + Unexpected provider error. The error code is logged in the error log. - + - This version of the hardware provider does not support this operation. + The method queries providers on the system. + The method can be called only during backup operations. + A list of objects representing the requested information. + + + The method may be called only during backup operations and must be preceded by calls to and + . + + + One of the parameter values is not valid. + The caller is not an administrator or a backup operator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The queried object is not found. + Expected provider error. The provider logged the error in the event log. + Unexpected provider error. The error code is logged in the error log. - + - At least one of the providers in this Shadow Copy Set failed the break operation for a snapshot. - + The method begins an asynchronous operation to determine the status of the revert operation. The + returned can be used to determine the outcome of the operation. + + An optional asynchronous callback, to be called when the operation is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + + An instance that represents this asynchronous operation. + + Name of the volume. The name of the volume to be checked must be in one of the following formats: + + The path of a volume mount point with a backslash (\) + A drive letter with backslash (\), for example, D:\ + A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) + + An instance that can be used to determine the status of the revert operation. + + The revert operation will continue even if the computer is rebooted, and cannot be canceled or undone, except by restoring a + backup created using another method. + Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008 or Windows Server 2003 SP1 + - + - There are too few disks on this computer or one or more of the disks is too small. - Add or change disks so they match the disks in the backup, and try the restore again. + Waits for a pending asynchronous operation to complete. + + EndQueryRevertStatus can be called once on every from . + + One of the parameter values is not valid. + The calling process has insufficient privileges. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified parameter is not a valid volume. + Revert is not supported on this volume. + The provider for the volume does not support revert operations. + This operation is not supported on the current operating system. - + - Windows cannot create a disk on this computer needed to restore from the backup. - Make sure the disks are properly connected, or add or change disks, and try the restore again. + The method reverts a volume to a previous shadow copy. Only shadow copies created with persistent + contexts (, , + or ) + are supported. + The identifier of the shadow copy to revert + If this parameter is , the volume will be dismounted and reverted even if the volume is in use. + This operation cannot be canceled, or undone once completed. If the computer is rebooted during the revert operation, the revert process will continue when the system is restarted. + Windows XP, Windows Server 2003 and Windows Vista: This method requires Windows Server 2008 or Windows Server 2003 SP1 + + One of the parameter values is not valid. + The calling process has insufficient privileges. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The parameter is not a valid shadow copy. + The provider was not found. + The volume already has a revert in process. + Revert is only supported for persistent shadow copies. + The parameter was , and the volume could not be locked. + Revert is not supported on this volume. + The provider for the volume does not support revert operations. + This operation is not supported on the current operating system. - + - The computer needs to be restarted to finish preparing a hard disk for restore. To continue, restart your computer and run the restore again. + The SaveAsXml method saves the Backup Components Document containing a requester's state information to a specified string. + This XML document, which contains the Backup Components Document, should always be securely saved as part of a backup operation. + The Backup Components Document containing a requester's state information. + + For a typical backup operation, SaveAsXml should not be called until after both writers and the requester are finished modifying the Backup Components Document. + Writers can continue to modify the Backup Components Document until their successful return from handling the PostSnapshot event (CVssWriter::OnPostSnapshot), or equivalently upon the completion of . + Requesters will need to continue to modify the Backup Components Document as the backup progresses. In particular, a requester will store a component-by-component record of the success or failure of the backup through calls to the method. + Once the requester has finished modifying the Backup Components Document, the requester should use to save a copy of the document to the backup media. + A Backup Components Document can be saved at earlier points in the life cycle of a backup operation, for instance, to support the generation of transportable shadow copies to be handled on remote machines. + However, should never be called prior to , because the Backup Components Document will not have been filled by the requester and the writers. + + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The backup failed due to a missing disk for a dynamic volume. Please ensure the disk is online and retry the backup. + The SetAdditionalRestores method is used by a requester during incremental or differential restore operations to indicate + to writers that a given component will require additional restore operations to completely retrieve it. + Writer identifier. + Type of the component. + + + The logical path of the component to be added. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + + + If the value of this parameter is , additional restores of the component will follow this restore. If the + value is , additional restores of the component will not follow this restore. + + + + + The information provided by the method is typically used by writers that support an explicit + recovery mechanism as part of their PostRestore event handler (CVssWriter::OnPostRestore)�for instance, the Exchange Server, and + database applications such as SQL Server. For these applications, it is often not possible to perform additional differential, + incremental, or log restores after such a recovery is performed. + + + Therefore, if for a component is set to , this means that such a writer + should not execute its explicit recovery mechanism and should expect that additional differential, incremental, or log restores + will be done. + + + When on a component is set to , then after the component is restored, + the application can complete its recovery operation and be brought back online. + + + This method must be called before . + + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - + - Automated System Recovery failed the shadow copy, because a selected critical volume is located on a cluster shared disk. - This is an unsupported configuration. + Sets a string of private, or writer-dependent, backup parameters for a component. + Writer identifier. + Type of the component. + + + The logical path of the component to be added. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + + String containing the backup parameters to be set. + + + + The exact syntax and content of the backup options set by the wszBackupOptions parameter of the method + will depend on the specific writer being contacted. + + + This method must be called before . + + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - + - A data disk is currently set as active in BIOS. Set some other disk as active or use the DiskPart utility to clean the - data disk, and then retry the restore operation. + Defines an overall configuration for a backup operation. + + + Indicates whether a backup or restore operation will be in component mode. + + + Operation in component mode supports selectively backing up designated individual components (which can allow their exclusion), + or only supports backing up all files and components on a volume. + + + The Boolean is if the operation will be conducted in component mode and if not. + + + + + Indicates whether a bootable system state backup is being performed. + + + + + A enumeration value indicating the type of backup to be performed. + + + + + If the value of this parameter is , partial file support is enabled. + The default value for this argument is . + + + + Applications must call prior to calling . + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The XML document is not valid. Check the event log for details. - + - The disk that is set as active in BIOS is too small to recover the original system disk. - Replace the disk with a larger one and retry the restore operation. + Indicates whether the backup of the specified component of a specific writer was successful. + Globally unique identifier of the writer instance. + Globally unique identifier of the writer class. + Type of the component. + + + The logical path of the component to be added. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + The value of this parameter is if the component was successfully backed up, and if it was not. + + + When working in component mode (when is called with its select components argument set to ), + writers the state of each components backup using . + + + Therefore, a well-behaved backup application (requester) must call after each component has been + processed and prior to calling . + + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - + + + Sets the context for subsequent shadow copy-related operations. + - There is not enough disk space on the system to perform the restore operation. - Add another disk or replace one of the existing disks and retry the restore operation. + Sets the context for subsequent shadow copy-related operations. + + The context to be set. The context must be one of the supported values of or a supported bit + mask (or bitwise OR) of with a valid . + + + + The default context for VSS shadow copies is . + + + Windows XP: The only supported context is the default context, . Therefore, calling + this method under Windows XP throws a . + + + This method be called only once, and it must be called prior to calling most VSS functions. + + + For details on how the context set by this method affects how a shadow copy is created and managed, see + Implementation Details for Creating Shadow Copies. + + + For a complete discussion of the permitted shadow copy contexts, see and . + + + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + + Sets the context for subsequent shadow copy-related operations. + + + The context to be set. The context must be one of the supported values of or a supported bit + mask (or bitwise OR) of with a valid . + + - The writer status is not available for one or more writers. A writer may have reached the maximum number of available backup - and restore sessions. + The default context for VSS shadow copies is . - Windows Vista, Windows Server 2003, and Windows XP: This value is not supported. + Windows XP: The only supported context is the default context, . Therefore, calling + this method under Windows XP throws a . - - - - - The system was unable to flush I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - + + can be called only once, and it must be called prior to calling most VSS functions. + + + For details on how the context set by this method affects how a shadow copy is created and managed, see + Implementation Details for Creating Shadow Copies. + + + For a complete discussion of the permitted shadow copy contexts, see and . + + + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The system was unable to hold I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + Indicates whether some, all, or no files were successfully restored. + Globally unique identifier of the writer class. + Type of the component. + + + The logical path of the component. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + + If all of the files were restored, the value of this parameter is . + If some of the files were restored, the value of this parameter is . If none of the files + were restored, the value of this parameter is . + + This method should be called between calls to and . + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - + - Exception thrown to indicate that the volume already has a revert in progress. + + Sets the backup stamp of an earlier backup operation, upon which a differential or + incremental backup operation will be based. + + + The method can be called only during a backup operation. + + Writer identifier. + Type of the component. + + + The logical path of the component. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + The backup stamp to be set. - - Windows XP and Windows 2003: This error is not supported until Windows Vista. - + This method should be called before . + Only requesters can call this method. + The backup stamp set by applies to all files in the component and any nonselectable Subcomponents it has. + Requesters merely store the backup stamps in the Backup Components Document. They cannot make direct use of the backup stamps, do not know their format, and do not know how to generate them. + Therefore, the value set with should either be retrieved from the stored Backup Components Document of an earlier backup operation (using for the correct component), or from information stored by the requester into its own internal records. + A writer will then obtain this value (using IVssComponent::GetPreviousBackupStamp) and using it will be able to mark the appropriate files for participation in an incremental or differential backup. + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - - - Initializes a new instance of the - class with a system-supplied message describing the error. - - - - - Initializes a new instance of the class with a specified error message. - - The message that describes the error - - - - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. - - The message that describes the error - The exception that is the cause of the current exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Exception thrown to indicate an expected provider error. The provider logged the error in the event log. - - - - - Initializes a new instance of the - class with a system-supplied message describing the error. - - - - - Initializes a new instance of the class with a specified error message. - - The message that describes the error - - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. - - The message that describes the error - The exception that is the cause of the current exception. + This method is used when a partial file operation requires a ranges file, and that file has been restored to a location other than its original one. + + Globally unique identifier (GUID) of the writer class containing the files involved in the partial file operation + Type of the component. + + + The logical path of the component containing the files that are participating in the partial file operation. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component containing the files that are participating in the partial file operation. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + + Index number of the partial file. The value of this parameter is an integer between 0 and n-1, + where n is the total number of partial files associated with a given component. The value of n is the number + of items in . + + + The fully qualified path of a ranges file. + + + Calling is not necessary if ranges files are restored in place. + Windows XP and Windows Vista: This method requires Windows Server 2008 or Windows Server 2003 + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. + The operation is not supported by the current operating system. - + - Initializes a new instance of the class. + Sets a string of private, or writer-dependent, restore parameters for a writer component. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - + Writer identifier. + Type of the component. + + + The logical path of the component. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. - The enumeration is used by a writer at restore time to - indicate how all the files included in a selected component, and all the files in any - component set it defines, are to be restored. + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + The private string of restore parameters. For more information see Setting VSS Restore Options. + - Setting a restore target modifies or overrides the restore method set during backup (see ). + This method must be called before . - - For more information see the MSDN documentation on the VSS_RESTORE_TARGET enumeration. + + The exact syntax and content of the restore options set by the parameter of the + method will depend on the specific writer being contacted. + + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - + - No target is defined. - This value indicates an error on the part of the writer. + Defines an overall configuration for a restore operation. + The type of restore to be performed. + + Typically, most restore operations will not need to override the default restore type . + If applications need to call , it should be called prior to calling . + Windows XP: This method requires Windows Vista, Windows Server 2008 or Windows Server 2003 + + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - + - - This is the default restore target. + Indicates whether the specified selectable component is selected for restoration. + + + Indicates whether the specified selectable component is selected for restoration. + + Writer identifier. + Type of the component. + + + The logical path of the component. For more information, see + Logical Pathing of Components. - This value indicates that the restoration of the files included in a selected component - (or the component set defined by that component) should proceed according to the original - restore method specified at backup time by a value. + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . - - - - - The files are restored to a location determined from an existing alternate location mapping. + The logical path can be . - The restore target should be set to only when - alternate location mappings have been set for all the files managed by - a selected component or component set. + There are no restrictions on the characters that can appear in a non-null logical path. + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + + If the value of this parameter is , the selected component has been selected for + restoration. If the value is , the selected component has not been selected for restoration. + + + SetSelectedForRestore has meaning only for restores taking place in component mode. + can only be called for components that were explicitly added to the + backup document at backup time using . Restoring a component that was implicitly + selected for backup as part of a component set must be done by calling on the closest + ancestor component that was added to the document. If only this component's data is to be restored, + that should be accomplished through ; this can only be done if the component + is selectable for restore. + This method must be called before . + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. + indicates whether the specified selectable component is selected for restoration. This method has two overloads. + + + + Creates a new, empty shadow copy set. + Shadow copy set identifier. + This method must be called before during backup operations. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The creation of a shadow copy is in progress, and only one shadow copy creation operation can be in progress at one time. Either wait to try again or return with a failure error code. - + + Indicates whether the specified selectable component is selected for restoration to a specified writer instance. + + Globally unique identifier (GUID) of the writer class. + Type of the component. + - Use directed targeting by the writer at restore time to restore a file. + The logical path of the component. For more information, see + Logical Pathing of Components. - Directed targeting allows a writer to control, on a file-by-file basis, how a file is - restored—indicating how much of a file is to be restored and into which files the backed-up file is to be restored. + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . - - - - - The files are restored to the location at which they were at backup time, even if the original restore - method that was specified at backup time was . + The logical path can be . - Windows Server 2003 and Windows XP: This value is not supported. + There are no restrictions on the characters that can appear in a non-null logical path. - - - - - - The interface is returned to calling applications by methods that initiate asynchronous operations, - which run in the background and typically require a long time to complete. - - - The interface permits an application to monitor and control an asynchronous operation by waiting - on its completion, querying its status, or canceling it. - - - The calling application is responsible for calling Dispose() to release the resources held - by the returned interface when it is no longer needed. - - - The following methods return an interface: - - - - - - - - - - - - - - - Cancels an incomplete asynchronous operation. - - - - - The asynchronous operation had been successfully cancelled. - - - - The asynchronous operation had been canceled prior to calling this method. - - - - The asynchronous operation had completed prior to calling this method. - - - Additional return values can be returned, but depend on the return codes of the method that initially returned the object. - - If an operation has completed unsuccessfully before was called, then throws the error that - operation encountered. - - - The method queries the status of an asynchronous operation. - - - - - The asynchronous operation had been successfully canceled. - - - - The asynchronous operation had been canceled prior to calling this method. - - - - The asynchronous operation had completed prior to calling this method. - - - Additional return values can be returned, but depend on the return codes of the method that initially returned the object. - - - - - The Wait method waits until an incomplete asynchronous operation finishes. - - - - - Exception thrown to indicate that the writer infrastructure is not operating properly. - + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + + If the value of this parameter is , the selected component has been selected for + restoration. If the value is , the selected component has not been selected for restoration. + + + GUID of the writer instance. + - Check that the Event Service and VSS have been started, and check for errors associated with those services in the error log. + + SetSelectedForRestore, which moves a component to a different writer instance, can be called only for a + writer that supports running multiple writer instances with the same class ID and supports a requester moving a + component to a different writer instance at restore time. To determine whether a writer provides this support, call + the method. + + + SetSelectedForRestore has meaning only for restores taking place in component mode. + + + SetSelectedForRestore can be called only for components that were explicitly added to the backup document at backup + time using AddComponent. Restoring a component that was implicitly selected for backup as part of a component set must be + done by calling SetSelectedForRestore on the closest ancestor component that was added to the document. If only + this component's data is to be restored, that should be accomplished through the method; + this can be done only if the component is selectable for restore (see + Working with Selectability and Logical Paths). + + + This method must be called before the method. + + + The distinction between the and parameters is necessary because it is + possible that multiple instances of the same writer are running on the computer. + + + If the value of the parameter is , this is equivalent to calling the + . + + + The parameter is used to specify that the component is to be restored to a different writer + instance. If the value of the parameter is not , it must match the + instance ID of a writer instance with the same writer class ID specified in in the parameter. + + + A writer's class identifier, instance identifier, and instance name can be found + in the properties of . + + + Windows XP and Windows 2003: This method is not supported until Windows 2003 SP1. + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The backup component does not exist. + The XML document is not valid. Check the event log for details. - - - Initializes a new instance of the - class with a system-supplied message describing the error. - - - - - Initializes a new instance of the class with a specified error message. - - The message that describes the error - - - - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. - - The message that describes the error - The exception that is the cause of the current exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - The enumeration is used by a writer to indicate the types of backup operations it can participate in. - The supported kinds of backup are expressed as a bit mask (or bitwise OR) of values. + + + Breaks a shadow copy set according to requester-specified options. + + A shadow copy set identifier. + A bitmask of flags that specify how the shadow copy set is broken. - - Windows XP: This enumeration is not available until Windows Server 2003 or later. - - - - Writer set their backup schemas with calls to IVssCreateWriterMetadata.SetBackupSchema". - - - Requesters use to determine the backup schema that a writer supports. - - - For a specific kind of backup operation to be supported, the writer must support the corresponding schema, and the - requester must set the corresponding backup type. + This method is similar to , except that is has an extra parameter to specify + how the shadow copy set is broken. - For example, to involve a writer in an incremental backup operation, the requester must set the backup type to - , and the writer should have a backup schema that includes . + Like , this method can be used only for shadow copies that were created by + a hardware shadow copy provider. - A writer that does not support the backup schema corresponding to a requester's backup type should treat the backup operation - that is being performed as if it were a default (full) backup. If the desired backup type is not supported by the writer's - backup schema, the requester can either perform a full backup for this writer or exclude the writer from the backup operation. - A requester can exclude a writer by selecting none of the writer's components, or by disabling the writer - (see or - ). + After this method returns, the shadow copy volume is still a volume, but it is no longer a shadow copy. + For more information, see Breaking Shadow Copies. - - - The writer supports a simple full backup and restoration of entire files (as defined by a value of ). - This backup scheme can be used as the basis of an incremental or differential backup. This is the default value. - - - - - The writer supports differential backups (corresponding to the value ). - Files created or changed since the last full backup are saved. Files are not marked as having been backed up. This setting does not preclude mixing of incremental and differential backups. - - - - - The writer supports incremental backups (corresponding to the value ). Files created or changed since the last full or incremental backup are saved. Files are marked as having been backed up. This setting does not preclude mixing of incremental and differential backups. - - - - - The writer supports both differential and incremental backup schemas, but only exclusively: for example, you cannot follow a differential backup with an incremental one. - A writer cannot support this schema if it does not support both incremental and differential schemas ( | ). - - - + - The writer supports backups that involve only the log files it manages (corresponding to a value of ). - - - - - Similar to the default backup schema (), the writer supports copy backup operations - (corresponding to ) where file access information (such as information as to when a file was - last backed up) will not be updated either in the writer's own state information or in the file system information. This type of - backup cannot be used as the basis of an incremental or differential backup. + Begins an asynchronous operation to break a shadow copy set according to requester-specified options. - - - - - A writer supports using the VSS time-stamp mechanism when evaluating if a file should be included in - differential or incremental operations (corresponding to and - , respectively) using the , - setters, and the method. - - - A writer cannot support this schema if it does not support either differential or incremental backup schemas - ( or ). - - - - - - + A shadow copy set identifier. + A bitmask of flags that specify how the shadow copy set is broken. + - When implementing incremental or differential backups with differenced files, a writer can provide last modification - time information for files (using IVssComponent.AddDifferencedFileByLastModifyTime). - A requester then can use to obtain candidate files and information - about their last modification data. The requester can use this information (along with any records about - previous backup operations it maintains) to decide if a file should be included in incremental and differential backups. + This method is similar to , except that is has an extra parameter to specify + how the shadow copy set is broken. - This scheme does not apply to partial file implementations of incremental and differential backup operations. + Like , this method can be used only for shadow copies that were created by + a hardware shadow copy provider. - A writer cannot support this schema if it does not support either incremental or differential backup - schemas ( or . + After this method returns, the shadow copy volume is still a volume, but it is no longer a shadow copy. + For more information, see Breaking Shadow Copies. - + + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + + An instance that represents this asynchronous operation. + - + - Reserved for system use. + Waits for an asynchronous operation to complete. + + EndBreakSnapshotSet can be called once on every from . + + The reference to the pending asynchronous request to finish. - - - The writer supports a requester changing the target for file restoration using - . - - - + - - The writer supports running multiple writer instances with the same class ID, and it supports a - requester moving a component to a different writer instance at restore time using - . - - - Windows Server 2003: This value is not supported until Windows Server 2003 SP1. - + Marks the restore of a component as authoritative for a replicated data store. - - - - - The writer supports backing up data that is part of the system state, but that can also - be backed up independently of the system state. - + The globally unique identifier (GUID) of the writer class. + Type of the component. + + + The logical path of the component to be added. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + to indicate that the restore of the component is authoritative; otherwise, . + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + This method was not called during a restore operation. + The specified component was not found. + - Windows Server 2003: This value is not supported until Windows Vista. + + Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. + - + - + - - The writer supports a requester setting a roll-forward restore point using . - - - Windows Server 2003: This value is not supported until Windows Vista. - + Assigns a new logical name to a component that is being restored. - - - - - The writer supports a requester setting a restore name using . - + The globally unique identifier (GUID) of the writer class. + The type of the component. + - Windows Server 2003: This value is not supported until Windows Vista. + A string containing the logical path of the component. For more information, see + Logical Pathing of Components. - - - - - The writer supports a requester setting authoritative restore using . + The value of the string containing the logical path used here should be the same as the string that was used when + the component was added. - Windows Server 2003: This value is not supported until Windows Vista. + The logical path can be . - - - - - The writer supports multiple unsynchronized restore events. + There are no restrictions on the characters that can appear in a logical path. + + + The name of the component. - Windows Vista and Windows Server 2003: This value is not supported until Windows Server 2008. - - - - - - Represenation of the status for a specific writer. - - This class acts as a container for the information returned from - IVssBackupComponents.GetWriterStatus in the original - VSS API - - - - Initializes a new instance of the class. - - The instance id. - The writer id. - Name of the writer. - The state. - The failure. - - - - The instance id of the writer. - - - - - The identifier of the writer class. - - - - - The name of the writer. - - - - - A value containing the state of the writer. - - - - - A value indicating the failure code (if any) of the writer. - + The string cannot be and should contain the same component name as was the component name + that was used when the component was added to the backup set using the method. + + + String containing the restore name to be set for the component. + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + This method was not called during a restore operation. + The specified component was not found. - The following are the supported values for : - - - Value - Meaning - - - - The writer was successful. - - - - The shadow copy contains only a subset of the volumes needed by the writer to correctly back up the application component. - - - - The writer ran out of memory or other system resources. The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. - - - - The writer operation failed because of a time-out between the Freeze and Thaw events. The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. - - - - The writer failed due to an error that would likely not occur if the entire backup, restore, or shadow copy creation process was restarted. The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. - - - - The writer operation failed because of an error that might recur if another shadow copy is created. - - - - The writer is not responding. - - - - - - The writer status is not available for one or more writers. A writer may have reached the maximum number of available backup and restore sessions. - - - Windows Vista, Windows Server 2003 and Windows XP: This value is not supported. - - - - + + Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. + - + - Represents information about a Subcomponent associated with a given component. + Sets the roll-forward operation type for a component and specifies the restore point for a partial roll-forward operation. + The globally unique identifier (GUID) of the writer class. + Type of the component. + + + The logical path of the component. For more information, see + Logical Pathing of Components. + + + The value of the string containing the logical path used here should be the same as was used when the component was + added to the backup set using . + + + The logical path can be . + + + There are no restrictions on the characters that can appear in a non-null logical path. + + + + The name of the component. + + The value of the string should not be , and should contain the same component as was used when the + component was added to the backup set using . + + + A enumeration value indicating the type of roll-forward operation to be performed. + + A null-terminated wide character string specifying the roll-forward restore point. + The format of this string is defined by the writer, and can be a timestamp, a log sequence number (LSN), or any marker defined by the writer. + + One of the arguments that cannot be was + One of the parameter values is not valid. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + This method was not called during a restore operation. + The backup component does not exist. + + + + Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. + + + - + - Initializes a new instance of . + Unexposes a shadow copy either by deleting the file share or by removing the drive letter or mount point. - The logical path of the Subcomponent. This can not be empty when working with Subcomponents. - The name of the Subcomponent. This can not be empty. - - - The logical path of the Subcomponent. This can not be empty when working with Subcomponents. - - - The name of the Subcomponent. This can not be empty. + The shadow copy identifier. The value of this identifier should be the same as the value that was used when the shadow copy was exposed. + One of the parameter values is not valid. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified shadow copy does not exist or is not exposed. + Expected provider error. The provider logged the error in the event log. + Unexpected provider error. The error code is logged in the error log. + + + + Windows XP and Windows 2003: This method requires Windows Vista or Windows Server 2008. + + + - + - IVssImplementation provides an interface to the global methods of the VSS API compiled for a specific - platform. + Specifies the volumes to be included in a LUN resynchronization operation. This method is supported only on Windows server operating systems. + + The identifier of the shadow copy that was returned by the method during backup. + This parameter is required and cannot be Guid.Empty. + + + This parameter is optional and can be . + A value of means that the contents of the shadow copy volume are to be copied back to the original volume. + VSS identifies the original volume by the VDS_LUN_INFO information in the Backup Components Document. + + One of the parameter values is not valid. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + Either there is no hardware provider that supports the operation, or the requester did not successfully add any volumes to the recovery set. + This version of the hardware provider does not support this operation. + The parameter specifies a shadow copy that the hardware provider does not own. + Another LUN resynchronization operation is already in progress. + The parameter specifies a shadow copy that does not exist in the Backup Components Document. + LUN resynchronization is not supported on this volume, because it is a dynamic volume, + because the destination disk does not have a unique page 83 storage identifier, because the specified volume does not reside on a LUN managed + by a VSS hardware provider, or because the destination disk is a cluster quorum disk. - An instance of IVssImplementation can be obtained either by using the factory methods of - for dynamically loading the suitable assembly containing the correct implementation (preferred), - or by statically referencing the correct platform-specific assembly and manually creating an instance of VssImplementation - from that assembly. + + + Windows XP, Windows 2003, Windows Vista, Windows 2008, Windows 7: This method requires Windows Server 2008 R2. + + - - + - The CreateVssBackupComponents method creates an interface object - for the current implementation and returns a reference to it. + Gets the requester's session identifier. - The calling application is responsible for calling Dispose" to release the - resources held by the instance when it is no longer needed. + + The session identifier is an opaque value that uniquely identifies a backup or restore session. It is used to distinguish + the current session among multiple parallel backup or restore sessions. + + + As a best practice, writers and requesters should include the session ID in all diagnostics messages used for event logging and tracing. + + + + Windows XP, Windows 2003, Windows Vista, Windows 2008: This method requires Windows 7 or Windows Server 2008 R2. + + - A reference to the newly created instance. The caller does not have sufficient backup privileges or is not an administrator. Out of memory or other system resources. Unexpected VSS system error. The error code is logged in the event log. - + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The requester's session identifier. - + - The IsVolumeSnapshotted function determines whether any shadow copies exist for the specified volume. + Initiates a LUN resynchronization operation. This method is supported only on Windows server operating systems. - - Use to determine whether certain volume control or file I/O operations are - disabled for the given volume if a shadow copy of it exists. - - - Name of the volume. The name of the volume to be checked must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) - - - true if the volume has a shadow copy, and false if the volume does not have a shadow copy. - One of the parameters is not valid. + flags that specify how the resynchronization is to be performed. + One of the parameter values is not valid. The caller does not have sufficient backup privileges or is not an administrator. Out of memory or other system resources. - Unexpected VSS system error. The error code is logged in the event log. - Expected provider error. The provider logged the error in the event log. - The specified volume was not found. - Unexpected provider error. The error code is logged in the event log file. + The provider for the volume does not support LUN resynchronization. + Possible reasons for this return value include: + + There is no hardware provider that supports the operation. + The requester did not successfully add any volumes to the recovery set. + The method was called in WinPE or in Safe mode. + he caller did not call the method before calling this method. + + + This version of the hardware provider does not support this operation. + An unexpected provider error occurred. If this error code is returned, the error must be described in an entry in the application event log, giving the user information on how to resolve the problem. + The resynchronization destination contained a volume that was not explicitly included. + The MBR signature or GPT ID for one or more disks could not be set to the intended value. Check the Application event log for more information. + + + + Windows XP, Windows 2003, Windows Vista, Windows 2008, Windows 7: This method requires Windows Server 2008 R2. + + + - + - Determines whether certain volume control or file I/O operations are disabled for the given volume if a shadow copy of it exists. + Begins an asynchronous operation that initiates a LUN resynchronization operation. This method is supported only on Windows server operating systems. - - Name of the volume. The name of the volume to be checked must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) - - + flags that specify how the resynchronization is to be performed. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. - A bit mask (or bitwise OR) of values that indicates whether certain - volume control or file I/O operations are disabled for the given volume if a shadow copy of it exists. + An instance that represents this asynchronous operation. + + + Pass the value returned to the method to release operating system resources used for this asynchronous operation. + must be called once for every call to . You can do this either by using the same code that called BeginRecoverSet or + in a callback passed to BeginRecoverSet. + + + + Windows XP, Windows 2003, Windows Vista, Windows 2008, Windows 7: This method requires Windows Server 2008 R2. + + + + + + + Waits for a pending asynchronous operation to complete. + + + EndRecoverSet can be called once on every from . + + The reference to the pending asynchronous request to finish. + /// One of the parameter values is not valid. + The caller does not have sufficient backup privileges or is not an administrator. + Out of memory or other system resources. + The provider for the volume does not support LUN resynchronization. + Possible reasons for this return value include: + + There is no hardware provider that supports the operation. + The requester did not successfully add any volumes to the recovery set. + The method was called in WinPE or in Safe mode. + he caller did not call the method before calling this method. + + + This version of the hardware provider does not support this operation. + An unexpected provider error occurred. If this error code is returned, the error must be described in an entry in the application event log, giving the user information on how to resolve the problem. + The resynchronization destination contained a volume that was not explicitly included. + The MBR signature or GPT ID for one or more disks could not be set to the intended value. Check the Application event log for more information. - Use to determine whether a snapshot exists for the specified volume or not. - - - If no volume control or file I/O operations are disabled for the selected volume, then the shadow copy capability of the - selected volume returned will . + + Windows XP, Windows 2003, Windows Vista, Windows 2008, Windows 7: This method requires Windows Server 2008 R2. + - - One of the parameters is not valid. - The caller does not have sufficient backup privileges or is not an administrator. + + + + A read-only list containing information about the components of each writer that has been stored in a requester's Backup Components Document. + + + + retrieves component information for a component stored in the Backup Components Document by earlier + calls to . + + + The information in the components stored in the Backup Components Document is not static. If a writer updates a component during a + restore, that change will be reflected in the component retrieved by . This is in contrast with + component information found in the object returned by . + That information is read-only and comes from the Writer Metadata Document of a writer process. + + + The instances that are returned should not be cached, because the following + methods cause the instances that are returned by to + be no longer valid: + + + + + + + + + + If you call one of these methods after you have retrieved a instance by calling + , you cannot reuse that instance, because it is no longer valid. Instead, you must call + again to retrieve a new instance. + + + + A read-only list containing information about the components of each writer that has been stored in a requester's Backup Components Document. + This list must not be accessed after the from which it + was obtained has been disposed. + Out of memory or other system resources. Unexpected VSS system error. The error code is logged in the event log. - Expected provider error. The provider logged the error in the event log. - The specified volume was not found. - Unexpected provider error. The error code is logged in the event log file. - - - - Checks the registry for writers that should block revert operations on the specified volume. - - - The name of the volume. The name must be in one of the following formats: - - The path of a volume mount point with a backslash (\) - A drive letter with backslash (\), for example, D:\ - A unique volume name of the form \\?\Volume{GUID}\ (where GUID is the unique global identifier of the volume) with a backslash (\) - - - - if the volume contains components from any writers that are listed in the registry as writers that should block - revert operations; otherwise, - + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. - + - The CreateVssExamineWriterMetadata function creates a new instance from an - XML document for the current implementation. + A read-only list containing metadata for the writers running on the systsem. - A string containing a Writer Metadata Document with which to initialize the returned object. + + A read-only list containing metadata for the writers running on the system. + This list must not be accessed after the from which it + was obtained has been disposed. + - This method attempts to load the returned object with metadata previously stored by a call to - . Users should not tamper with this metadata document. + + A requester must call the asynchronous operation and wait for it + to complete prior to using . + + + Although must be called prior to either a restore or backup operation, + is not typically used for restores. + + + Component information retrieved (during backup operations) using , where the + instance has been returned by , comes from the Writer + Metadata Document of a live writer process. + + + This is in contrast to the information returned by (during restore operations), which was + stored in the Backup Components Document by calls to . + - a instance initialized with the specified XML document. + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The XML document is not valid. Check the event log for details. + The specified shadow copy does not exist. - + - Gets a snapshot management interface for the current implementation. + A read-only list containing the status of the writers. - A snapshot management interface for the current implementation. + + A read-only list containing instances representing the returned status for each respective writer. + This list must not be accessed after the from which it + was obtained has been disposed. + + + + A requester must call the asynchronous operation and wait for it to + complete prior to using . + + + Out of memory or other system resources. + Unexpected VSS system error. The error code is logged in the event log. + The backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence. + The specified shadow copy does not exist. - + - Exception indicating that the volume was in use and could not be locked. + Exception thrown to indicate that the system was unable to freeze the Distributed Transaction Coordinator (DTC) + or the Kernel Transaction Manager (KTM). + + + Windows Server 2003 and Windows XP: This exception is not supported until Windows Vista. + + - + - Initializes a new instance of the + Initializes a new instance of the class with a system-supplied message describing the error. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with a specified error message. The message that describes the error - + - Initializes a new instance of the class with + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - + - Exception thrown to indicate that an unexpected error occurred during communication with writers. + Exception thrown to indicate that the requested object was a duplicate. - - The error code is logged in the error log file. - - + - Initializes a new instance of the + Initializes a new instance of the class with a system-supplied message describing the error. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with a specified error message. The message that describes the error - + - Initializes a new instance of the class with + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - + - Exception thrown to indicate The system was unable to flush I/O writes. + Exception thrown to indicate that the system or provider has insufficient storage space. - This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. + If possible delete any old or unnecessary persistent shadow copies and try again. - + - Initializes a new instance of the + Initializes a new instance of the class with a system-supplied message describing the error. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with a specified error message. The message that describes the error - + - Initializes a new instance of the class with + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - + + The enumeration specifies the provider type. + + - The enumeration is used by writers to indicate their support of certain backup - operations—such as incremental or differential backup—on the basis of file sets (a specified file or files). + The provider type is unknown. - File sets stored in the Writer Metadata Document are tagged with a bit mask (or bitwise OR) of - values indicating the following: - - - - Whether the writer and the requester have to - evaluate a given file set for participation in the specified type of backup operations - - - - - Whether backing up the specified file will require a shadow copy - - - + This indicates an error in the application or the VSS service, or that no provider is available. - - For more information see the MSDN documentation on - VSS_FILE_SPEC_BACKUP_TYPE Enumeration - - + + The default provider that ships with Windows. + + + A software-based provider. + + + A hardware-based provider. + + - Used on operating systems where this enumeration is not supported, i.e. Windows XP. + Representation of information on a partial file associated with a component. + See MSDN documentation on IVssComponent::GetPartialFile Method for more information. - + + Initializes a new instance of the class + The path of the partial file. + The name of the partial file. + Either a listing of file offsets and lengths that make up the partial file support range + (the sections of the file that were backed up), or the name of a file containing such a list. + Any additional metadata required by a writer to validate a partial file restore operation. The information in this + metadata string will be opaque to requesters. May be + + - A file set tagged with this value must be involved in all types of backup operations. + The path of the partial file. - A writer tags a file set with this value to indicate to the requester that it expects a copy of the - current version of the file set to be available following the restore of any backup operation - with a of - . + Users of this public need to check to determine whether this path ends with a backslash ("\"). - - - A writer tags a file set with this value to indicate to the requester that it - expects a copy of the current version of the file set to be available following - the restore of any backup operation with a of - . - - - - - A writer tags a file set with this value to indicate to the requester that it - expects a copy of the current version of the file set to be available following the - restore of any backup operation with a - of . - + + The name of the partial file. - + - A writer tags a file set with this value to indicate to the requester that it - expects a copy of the current version of the file set to be available following the - restore of any backup operation with a - of . + Either a listing of file offsets and lengths that make up the partial file support range + (the sections of the file that were backed up), or the name of a file containing such a list. - + - A file set tagged with this value must be backed up from a shadow copy of a volume - (and never from the original volume) when participating in a backup operation with a - of . + + Any additional metadata required by a writer to validate a partial file restore operation. The information in this + metadata string will be opaque to requesters. + + + Additional metadata is not required, so may also be empty (zero length). + - + - A file set tagged with this value must be backed up from a shadow copy of a volume - (and never from the original volume) when participating in a backup operation with a - of . + + The enumeration represents error- and success codes that may be + returned by some Vss methods. + - + + Indication of a successful operation. + + - A file set tagged with this value must be backed up from a shadow copy of a volume - (and never from the original volume) when participating in a backup operation with a - of . + The asynchronous operation was cancelled. - + - A file set tagged with this value must be backed up from a shadow copy of a volume - (and never from the original volume) when participating in a backup operation with a - of . + The asynchronous operation was completed successfully. - + - The default file backup specification type. A file set tagged with this value must always participate in backup and restore operations. + The asynchronous operation is still running. - + - The shadow copy requirement for backup. A file set tagged with this value must always be backed up - from a shadow copy of a volume (and never from the original volume) when participating in a backup operation. + Unexpected error. The error code is logged in the error log file. - + - Defines the set of shadow copy protection faults. - A shadow copy protection fault occurs when the VSS service is unable to perform a copy-on- - write operation to the shadow copy storage area (also called the diff area). + A method call was made when the object was in an incorrect state + for that method. - + - No shadow copy protection fault has occurred. + The provider has already been registered. - + - The volume that contains the shadow copy storage area could not be found. Usually this fault means that the volume has not yet arrived in the system. + The specified identifier does not correspond to a registered provider. - + - The volume that contains the shadow copy storage area could not be brought online because an I/O failure occurred. + The provider was unable to perform the request at this time. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - + - The shadow copy metadata for the shadow copy storage area has been corrupted. + The shadow copy provider is currently in use and cannot be unregistered. - + - A memory allocation failure occurred. This could be caused by a temporary low-memory condition that does not happen again after you clear the fault and restart the shadow copy operation. + The specified object was not found. - + - A memory mapping failure occurred. This fault could mean that the page file is too small, or it could be caused by a low-memory condition. + No VSS provider indicates that it supports the specified volume. - + - A read failure occurred during the copy-on-write operation when data was being copied from the live volume to the shadow copy storage area volume. + The volume is not supported by the specified provider. - + - A read or write failure occurred during the copy-on-write operation when data was being copied from the live volume to the shadow copy storage area volume. One possible reason is that the shadow copy storage area volume has been removed from the system. + The object already exists. - + - This failure means that either the shadow copy storage area is full or the shadow copy storage area volume is full. - After clearing the protection fault, you can do one of the following: - - Delete unused shadow copy storage areas by calling the method. - Increase the shadow copy storage area maximum size for the volume by calling the method. - + The provider returned an unexpected error code. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - + - The size of the shadow copy storage area could not be increased because there was no longer enough space on the shadow copy storage area volume. + The given XML document is invalid. It is either incorrectly-formed XML or it does not match the schema. - + - The size of the shadow copy storage area could not be increased. + The maximum number of volumes has been added to the shadow copy set. The specified volume was not added to the shadow copy set. - + - An unexpected error occurred. + VSS encountered problems while sending events to writers. - + - Either the shadow copy storage area files could not be opened or the shadow copy storage area volume could not be mounted because of a file system operation failure. - + Another shadow copy creation is already in progress. Please wait a few moments and try again. + - + - A read or write failure occurred on the shadow copy storage area volume. + The volume has been added to the maximum number of shadow copy sets. The specified volume was not added to the shadow copy set. - + - The shadow copy storage area volume was removed from the system or could not be accessed for some other reason. + An error was detected in the Volume Shadow Copy Service (VSS). The problem occurred while trying to contact VSS writers. + Please verify that the Event System service and the VSS service are running and check for associated errors in the event logs. - + - Another application attempted to write to the shadow copy storage area. + A writer did not respond to a GatherWriterStatus call. The writer may either have terminated + or it may be stuck. Check the system and application event logs for more information. - + - is used to determine the writer ID, logical path, and component name of components that must be restored or - backed up along with the target component. - Note that a dependency does not indicate an order of preference between the component with the documented dependencies and the components it depends on. A dependency merely indicates that the component and the components it depends on must always be backed up or restored together. - Windows XP: This class is not supported until Windows Server 2003 - - + The writer has already sucessfully called the Subscribe function. It cannot call + subscribe multiple times. + - + - Initializes a new instance of the class. + The shadow copy provider does not support the specified shadow copy type. - The writer id. - The logical path. - Name of the component. - + - The class ID of a writer containing a component that the current component depends on. + The specified shadow copy storage association is in use and so can't be deleted. - + - The logical path of a component that the current component depends on. + Maximum number of shadow copy storage associations already reached. - + - Retrieves the name of a component that the current component depends on. + The system or provider has insufficient storage space. If possible delete any old or unnecessary persistent shadow copies and try again. - + - Contains information about a volume's shadow copy protection level. + No shadow copies were successfully imported. - + - Initializes a new instance of the class. + Some shadow copies were not succesfully imported. - The protection level. - if set to true the volume is offline for protection. - The protection fault. - The failure status. - if set to true the volume has unused diff area. - + - Gets the target protection level for the volume. + Some shadow copies were not succesfully imported. - The target protection level for the volume. - + - Gets a value indicating whether the volume is offline due to a protection fault. + The maximum number of remote machines for this operation has been reached. - - true if the volume is offline due to a protection fault; otherwise, false. - - + - Gets a value that describes the shadow copy protection fault that caused the volume to go offline. + The remote server is unavailable. - A value that describes the shadow copy protection fault that caused the volume to go offline. - + - Gets the internal failure status code. + The remote server is running a version of the Volume Shadow Copy Service that does not + support remote shadow-copy creation. - The internal failure status code. - + - Gets a value indicating whether the volume has unused shadow copy storage area files or not. + A revert is currently in progress for the specified volume. Another revert + cannot be initiated until the current revert completes. - - true if the volume has unused shadow copy storage area files; otherwise, false. - - + - Exception thrown to indicate that the volume is not supported by the specified provider. + The volume being reverted was lost during revert. - + - Initializes a new instance of the - class with a system-supplied message describing the error. + The provider encountered an error that requires the user to restart the computer. + Windows Server 2003 and Windows XP:This value is not supported until Windows Vista. - + - Initializes a new instance of the class with a specified error message. + The system was unable to freeze the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + Windows Server 2003 and Windows XP:This value is not supported until Windows Vista. - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + The system was unable to thaw the Distributed Transaction Coordinator (DTC) or the Kernel Transaction Manager (KTM). + Windows Server 2003 and Windows XP:This value is not supported until Windows Vista. - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + The shadow copy contains only a subset of the volumes needed by the writer to correctly back + up the application component. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - The enumeration is used by a requester to indicate the type of restore operation it is about to perform. - - A requester sets the type of a restore operation using . - - - + - No restore type is defined. - This indicates an error on the part of the requester. + The writer ran out of memory or other system resources. The recommended way to handle this error code is + to wait ten minutes and then repeat the operation, up to three times. - - The default restore type: A requester restores backed-up data to the original volume from a backup medium. - - + - - A requester does not copy data from a backup medium, but imports a transportable shadow copy - and uses this imported volume for operations such as data mining. - - - Windows Server 2003, Standard Edition and Windows Server 2003, Web Edition: This value is not supported. All editions of Windows Server 2003 SP1 support this value. - + The writer operation failed because of a time-out between the Freeze and Thaw events. + The recommended way to handle this error code is to wait ten minutes and then repeat the operation, up to three times. - - A restore type not currently enumerated. This value indicates an application error. - - + - The class contains the properties of a shadow copy source volume. + The writer failed due to an error that would likely not occur if the entire backup, restore, or shadow copy creation + process was restarted. The recommended way to handle this error code is to wait ten minutes and then repeat + the operation, up to three times. - + - Initializes a new instance of the class. + The writer experienced a non-transient error. If the backup process is retried, + the error is likely to reoccur. - Name of the volume. - Display name of the volume. - + - Gets the volume name, in \\?\Volume{GUID}\ format. + The writer experienced an error while trying to recover the shadow-copy volume. - The volume name, in \\?\Volume{GUID}\ format. - + - Gets a string that can be displayed to the user containing the shortest mount point (for example C:\). + The shadow copy set break operation failed because the disk/partition identities could not be reverted. + The target identity already exists on the machine or cluster and must be masked before this operation can succeed. - A string that can be displayed to the user containing the shortest mount point (for example C:\). - - - The enumeration specifies the type of data that a writer manages. - - - The source of the data is not known.This indicates a writer error, and the requester should report it. - - - The source of the data is a database that supports transactions, such as Microsoft SQL Server. - - The source of the data is a database that does not support transactions. - - + - Unclassified source type—data will be in a file group. - This is the default source type. + This version of the hardware provider does not support this operation. - + - The interface contains methods used to obtain and modify component information - (in the form of instances) associated with a given writer but stored in a - requester's Backup Components Document. + At least one of the providers in this Shadow Copy Set failed the break operation for a snapshot. - + - A read-only collection of instances to the a given writer's - components explicitly stored in the Backup Components Document. + There are too few disks on this computer or one or more of the disks is too small. + Add or change disks so they match the disks in the backup, and try the restore again. - A read-only collection of instances to the a given writer's - components explicitly stored in the Backup Components Document. This list - must not be accessed after the from which it was obtained has been disposed. - - + - Identifier of the writer instance responsible for the components. + Windows cannot create a disk on this computer needed to restore from the backup. + Make sure the disks are properly connected, or add or change disks, and try the restore again. - + - Identifier of the writer class responsible for the components. + The computer needs to be restarted to finish preparing a hard disk for restore. To continue, restart your computer and run the restore again. - + - is a class that allows access to component information stored in a Writer Metadata Document. - Instances of are obtained by enumerating . + The backup failed due to a missing disk for a dynamic volume. Please ensure the disk is online and retry the backup. - + - Gets a buffer containing the binary data for a displayable icon representing the component. + Automated System Recovery failed the shadow copy, because a selected critical volume is located on a cluster shared disk. + This is an unsupported configuration. - - The buffer contents should use the same format as the standard icon (.ico) files. If the writer that created - the component did not choose to specify an icon, the value will be . - - A buffer containing the binary data for a displayable icon representing the component. - + - The component type. + A data disk is currently set as active in BIOS. Set some other disk as active or use the DiskPart utility to clean the + data disk, and then retry the restore operation. - + - The logical path of the component. + The disk that is set as active in BIOS is too small to recover the original system disk. + Replace the disk with a larger one and retry the restore operation. - A string containing the logical path of the component, which may be . - There are no restrictions on the characters that can appear in a non-NULL logical path. - + - The name of the component. A component name string cannot be . + There is not enough disk space on the system to perform the restore operation. + Add another disk or replace one of the existing disks and retry the restore operation. - + - The description of the component. A caption string can be . + + The writer status is not available for one or more writers. A writer may have reached the maximum number of available backup + and restore sessions. + + + Windows Vista, Windows Server 2003, and Windows XP: This value is not supported. + - + - Boolean that indicates whether there is private metadata associated with the restoration of the component. + The system was unable to flush I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - - The Boolean is if there is private metadata associated with the restoration - of the components, and if there is not. - - - - Reserved for future use. - + - Boolean that indicates (for component mode operations) if the component is selectable for backup. + The system was unable to hold I/O writes. This can be a transient problem. It is recommended to wait ten minutes and try again, up to three times. - - The value of helps determine whether a requester has the option of including or excluding - a given component in backup operations. - - - if the component is selectable for backup and if it is not. - - VSS_COMPONENTINFO structure on MSDN - + - Boolean that indicates (for component-mode operations) whether the component is selectable for restore. + The enumeration is used by both the requester and the writer to specify the type of component being used + with a shadow copy backup operation. - allows the requester to determine whether this component can be individually selected - for restore if it had earlier been implicitly included in the backup. + A writer sets a component's type when it adds the component to its Writer Metadata Document using + IVssCreateWriterMetadata.AddComponent - - Windows XP: This requires Windows Server 2003 or later - + Writers and requesters can find the type information of components selected for inclusion in a Backup + Components Document through calls to to return a component type directly. + + + A requester can obtain the type of any component in a given writer's Writer Metadata Document by doing the following: + + Using to obtain a interface + Examining the Type member of the object + - - - The Boolean is if the component is selectable for restore and if it is not. - - - - - A bit mask (or bitwise OR) of values of the enumeration, indicating the - features this component supports. - - - - Windows Server 2003 and Windows XP: Before Windows Server 2003 SP1, this member is reserved for system use. - - - - The file descriptors associated with this component. + + Undefined component type. + This value indicates an application error. - This collection represents the method GetFile() of IVssWMComponent in the VSS API - - - A list of instances containing information about the database backup component files. - + + Database component. - + + File group component. This is any component other than a database. + + - A list of file descriptors for the log files associated with the specified database backup component. + The enumeration is used by writers to indicate support for auto-recovery. + For more information see MSDN documentation on VSS_COMPONENT_FLAGS Enumeration - + - A list of instances containing accessors for obtaining information about explicit writer-component - dependencies of one of the current components. + This value is reserved for operating systems that do not support the enumeration. - + - The enumeration is used by requesters to identify an object as - a shadow copy set, shadow copy, or provider. + + The writer will need write access to this component after the shadow copy has been created. + + + This flag is incompatible with . + - + - The object type is not known. + If this is a rollback shadow copy ( enumeration value of + ), the writer for this component will need + write access to this component after the shadow copy has been created. - This indicates an application error. + This flag is incompatible with . - + - The interpretation of this value depends on whether it is used as an - input to a VSS method or returned as an output from a VSS method. - - - When used as an input to a VSS method, it indicates that the method is - not restricted to any particular object type, but should act on all - appropriate objects. In this sense, can be thought - of as a wildcard input. + This component is not part of system state. - When returned as an output, the object type is not known and means that - there has been an application error. + Windows Server 2003: This value is not supported until Windows Vista. - - Shadow copy set. + + + Exception indicating that the resynchronization destination contained a volume that was not explicitly included. + - - Shadow copy. + + + Initializes a new instance of the class. + - - Shadow copy provider. + + + Initializes a new instance of the class. + + The message that describes the error - + - Information about a file set (a specified file or files) to participate in an incremental or differential backup - or restore as a differenced file, that is, backup and restores associated with it are to be implemented as if - entire files are copied to and from backup media (as opposed to using partial files). + Initializes a new instance of the class. + The message that describes the error + The exception that is the cause of the current exception. - - Initializes a new instance of the class. - The path to the differenced files. - The file specification of the differenced files. - The time of last modification for the difference files. - if the filespec for the differenced files should be interpreted recursively, otherwise. + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + - + + + is used to determine the writer ID, logical path, and component name of components that must be restored or + backed up along with the target component. + Note that a dependency does not indicate an order of preference between the component with the documented dependencies and the components it depends on. A dependency merely indicates that the component and the components it depends on must always be backed up or restored together. + Windows XP: This class is not supported until Windows Server 2003 + + + + - - The path to the differenced files. - - - Users of this method need to check to determine whether this path ends with a backslash (\). - + Initializes a new instance of the class. + The writer id. + The logical path. + Name of the component. - - The file specification of the differenced files. + + + The class ID of a writer containing a component that the current component depends on. + - + - Boolean specifying whether the file specification for the differenced files should be interpreted recursively. - If , then the entire directory hierarchy will need to be searched for files matching the - file specification to find files to be handled as differenced files during incremental - or differential backups. If , only the root directory needs to be searched. + The logical path of a component that the current component depends on. - + - The writer specification of the time of last modification for the difference files. + Retrieves the name of a component that the current component depends on. - + - The structure describes associations between volumes containing the original file data - and volumes containing the shadow copy storage area (also known as the diff area). + Exception thrown to indicate that the operation is not supported under the current context. - + - Initializes a new instance of the class. + Initializes a new instance of the + class with a system-supplied message describing the error. - Name of the volume. - Name of the diff area volume. - The maximum diff space. - The allocated diff space. - The used diff space. - + - Gets the original volume name. + Initializes a new instance of the class with a specified error message. - The original volume name. + The message that describes the error - + - Gets the shadow copy storage area volume name. + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. - The shadow copy storage area volume name. + The message that describes the error + The exception that is the cause of the current exception. - + - Gets the maximum space used on the shadow copy storage area volume for this association. + Initializes a new instance of the class. - The maximum space used on the shadow copy storage area volume for this association. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). - + - Gets the allocated space on the shadow copy storage area volume by this association. - This must be less than or equal to . + Exception indicating that the resynchronization destination contained a volume that was not explicitly included. - The allocated space on the shadow copy storage area volume by this association. - + - Gets the used space from the allocated area. This must be less than or equal to . + Initializes a new instance of the class. - The the used space from the allocated area. - + - The class is a static utility class for accessing the platform specific - instances of the various VSS interfaces in a platform-independent manner. + Initializes a new instance of the class. - - Use the under normal circumstances to load - the correct assembly and create an instance of from that assembly. If you have - specific requirements on how the assembly should be loaded, or the instance created you are not required to use - these methods but can use the methods in this class for accessing the suggested assembly name to load, and load it manually. - In this case you need to create an instance of the class called Alphaleonis.Win32.Vss.VssImplementation from the platform specific - assembly. This class implements the interface, and has a public parameterless constructor. - + The message that describes the error - + - Gets the short name of the platform specific assembly for the platform on which the assembly - is currently executing. + Initializes a new instance of the class. - the short name of the platform specific assembly for the platform on which the assembly - is currently executing. - The operating system could not be detected or is unsupported. + The message that describes the error + The exception that is the cause of the current exception. - + - Gets the full name of the platform specific assembly for the platform on which the assembly is currently executing. + Initializes a new instance of the class. - The full name of the platform specific assembly for the platform on which the assembly is currently executing. - The operating system could not be detected or is unsupported. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + - + - Loads the assembly containing the correct implementation of the interface - for the operating system on which the assembly is currently executing. + The enumeration indicates the type of backup to be performed using VSS writer/requester + coordination. - - Loads the assembly containing the correct implementation of the interface - for the operating system on which the assembly is currently executing, optionally allowing the specification - of an into which to load the assembly. - - - The assembly will be loaded into the same as the calling assembly. - - - The assemblies are loaded using strong name lookup. They need to be present in the code base directory - of the executing assembly, or installed in the GAC for the lookup to succeed. - + For more information see MSDN documentation on + VSS_BACKUP_TYPE Enumeration - - An newly created instance of suitable for the - operating system on which the assembly is currently executing. - The operating system could not be detected or is unsupported. - + - Loads the assembly containing the correct implementation of the interface - for the operating system on which the assembly is currently executing allowing the specification - of an into which to load the assembly. - - The into which to load the platform specific assembly. - - The assemblies are loaded using strong name lookup. They need to be present in the code base directory - of the executing assembly, or installed in the GAC for the lookup to succeed. + The backup type is not known. - - - An newly created instance of suitable for the - operating system on which the assembly is currently executing. - - The operating system could not be detected or is unsupported. + + This value indicates an application error. + + - + - The class contains the properties of a shadow copy or shadow copy set. + Full backup: all files, regardless of whether they have been marked as backed up or not, are saved. This is the default backup type and schema, and all writers support it. + Each file's backup history will be updated to reflect that it was backed up. - + - Initializes a new instance of the class. + + Incremental backup: files created or changed since the last full or incremental backup are saved. Files are marked as having been backed up. + + + A requester can implement this sort of backup on a particular writer only if it supports the schema. + + + If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. + - The snapshot id. - The snapshot set id. - The snapshot count. - The snapshot device object. - Name of the original volume. - The originating machine. - The service machine. - Name of the exposed. - The exposed path. - The provider id. - The snapshot attributes. - The creation timestamp. - State of the snapshot. - - - A uniquely identifying the shadow copy identifier. - - - A uniquely identifying the shadow copy set containing the shadow copy. - + - Number of volumes included with the shadow copy in the shadow copy set when it was created. - Because it is possible for applications to release individual shadow copies without releasing the shadow copy - set, at any given time the number of shadow copies in the shadow copy set may be less than + Differential backup: files created or changed since the last full backup are saved. Files are not marked as having been backed up. - The maximum number of shadow-copied volumes permitted in a shadow copy set is 64. + A requester can implement this sort of backup on a particular writer only if it supports the schema. + + + If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. - + - The name of the device object for the shadow copy of the volume. The device object can be thought of as - the root of a shadow copy of a volume. Requesters will use this device name when accessing files on a - shadow-copied volume that it needs to work with. + The log file of a writer is to participate in backup or restore operations. - The device name does not contain a trailing "\". + A requester can implement this sort of backup on a particular writer only if it supports the schema. + + + If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. - - The name of the volume that had been shadow copied. - - - The name of the machine containing the original volume. - - - The name of the machine running the Volume Shadow Copy Service that created the shadow copy. - - - The name of the shadow copy when it is exposed. This is a drive letter or mount point (if the shadow copy is exposed as a local volume), or a share name. - - - The portion of the shadow copy of a volume made available if it is exposed as a share. - - - A uniquely identifying the provider used to create this shadow copy. - - - - The attributes of the shadow copy expressed as a bit mask (or bitwise OR) of members of - the enumeration. - - - - Time stamp indicating when the shadow copy was created. The exact time is determined by the provider. - - - Current shadow copy creation status. See . - - - - A class that allows a requester to examine the metadata of a specific writer instance. This metadata may come from a - currently executing (live) writer, or it may have been stored as an XML document. - - - A interface to a live writer's metadata is obtained by a call to - . - - - - - The method loads an XML document that contains a writer's metadata document into a - instance. - - String that contains an XML document that represents a writer's metadata document. - if the XML document was successfully loaded, or if the XML document could not - be loaded. - - + - The method saves the Writer Metadata Document that contains a writer's state information to a specified string. - This string can be saved as part of a backup operation. + + Files on disk will be copied to a backup medium regardless of the state of each file's backup history, and the backup history will not be updated. + + + A requester can implement this sort of backup on a particular writer only if it supports the schema. + + + If a requester's backup type is and a particular writer's backup schema does not support that sort of backup, the requester will always perform a full () backup on that writer's data. + - The Writer Metadata Document that contains a writer's state information. - - - The is examined by a requester to determine from the - Writer Metadata Document the types of backup operations that a given writer can participate in. - + + Backup type that is not full, copy, log, incremental, or differential. - + - The alternate location mappings of the file sets. + Exception indicating that this version of the hardware provider does not support this operation. - A read-only list containing the alternate location mappings of the file sets. - + - Information about how a writer wants its data to be restored. + Initializes a new instance of the class. - + - Obtains the Writer Metadata Documents the components supported by this writer. + Initializes a new instance of the class. - the Writer Metadata Documents the components supported by this writer. - - - Information about files that have been explicitly excluded from backup. - a read-only list containing information about files that have been explicitly excluded from backup. + The message that describes the error - + - The instance identifier of the writer + Initializes a new instance of the class. - The instance id. - - - The class ID of the writer - - - A string specifying the name of the writer - - - A enumeration value indicating how the data managed by the writer is used on the host system. - - - A enumeration value indicating the type of data managed by the writer. + The message that describes the error + The exception that is the cause of the current exception. - + - Gets the writer instance name. + Initializes a new instance of the class. - - - - Windows XP and Windows 2003: This property is not supported until Windows 2003 SP1 and will always return - on those systems. - - - - A string specifying the writer instance name. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + The parameter is . + + + The class name is or is zero (0). + - + - Gets the version information for a writer application. + Represents information stored by a writer, at backup time, to the Backup Components Document to indicate that when a + file is to be restored, it (the source file) should be remapped. The file may be restored to a new restore target + and/or ranges of its data restored to different locations with the restore target. - The version information for a writer application. - - - Only the and properties of the instance - are used by VSS. - - - Windows XP and Windows 2003: This property is not supported until Windows Vista, and will always return version 0.0.0.0 - - - - - Obtains information about file sets that have been explicitly excluded from a given shadow copy. - - - - The property is intended to report information about file sets excluded from a - shadow copy. Requesters should not exclude files from backup based on the information returned by this method. - - - - Windows XP and Windows 2003: This property is not supported until Windows Vista and will always return an empty list. - - - - The exclude from snapshot files. + + Initializes a new instance of the class. + The source path. + The source file name. + The source range list. + The destination path. + The destination file name. + The destination range list. - + - Exception indicating that the creation of a shadow copy is in progress, and only one shadow copy creation - operation can be in progress at one time. Either wait to try again or return with a failure. + The path to the directory that at backup time contained the file to be restored (the source file). This path should + match or be beneath the path of a file set already in the component or one of its Subcomponents + (if the component defines a component set). - + - Initializes a new instance of the - class with a system-supplied message describing the error. + The name of the file (at backup time) that is to be remapped during a restore (the source file). + The name of this file should not contain any wildcard characters, and must be a member of the same + file set as the source path (). - + - Initializes a new instance of the class with a specified error message. + + A comma-separated list of file offsets and lengths indicating the source file + support range (the sections of the file to be restored). + + + The number and length of the source file support ranges must match the number and size of destination file support ranges. + - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + The path to which source file data will be remapped at restore time. - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + The name of the file to which source file data will be remapped at restore time. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - This enumeration is used by a writer at backup time to specify through its Writer Metadata Document the default file restore - method to be used with all the files in all the components it manages. - + - No restore method is defined. - This indicates an error on the part of the writer. + + A comma-separated list of file offsets and lengths indicating the destination file support range (locations to which + the sections of the source file are to be restored). + + + The number and length of the destination file support ranges must match the number and size of source file support ranges. + - + - A requester will restore files of a selected component or component set only if there are no versions of those files currently on the disk. + The interface provides a method that returns an interface to further configure a shadow copy provider. - - Unless alternate location mappings are defined for file restoration, if a version of any file managed by a selected component or component set is currently on the disk, none of the files managed by the selected component or component set will be restored. - If a file's alternate location mapping is defined, and a version of the files is present on disk at the original location, files will be written to the alternate location as long as no version of the file exists at the alternate location. - - + - A requester will restore files of a selected component or component set only if there are no versions of those files currently on the disk that cannot be overwritten. + Gets an instance of the differential software snapshot management interface to further configure the system provider. - Unless alternate location mappings are defined for file restoration, if there is a version of any file that cannot be overwritten of the selected component or component set on the disk, none of the files managed by the component or component set will be restored. - If a file's alternate location mapping is defined, files will be written to the alternate location. + + + + Windows XP: This method is not supported until Windows 2003. + + + + An instance of the differential software snapshot management interface to further configure the system provider. - + - This value is used by a writer to indicates that a given service must be stopped prior to the start of the restore. After the restore operation, the service will be restarted. + Returns the current minimum size of the shadow copy storage area. - The service to be stopped is specified by an argument to IVssCreateWriterMetadata.SetRestoreMethod. + + The shadow copy storage area minimum size is a per-computer setting. Prior to Windows Server 2003 Service Pack 1 (SP1), this + was fixed at 100 MB. With Windows Server 2003 SP1, the shadow copy storage area has a minimum size of 300 MB and can be + increased in 300 MB increments up to 3000 MB (3 GB). This setting is stored in the MinDiffAreaFileSize value of type + REG_DWORD in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VolSnap (the value is the size, in MB). + + + + + Windows XP and Windows 2003: This method is not supported until Windows 2003 SP1. + + + + The current minimum size of the shadow copy storage area. - - - A requester must restore the files of a selected component or component set to the location specified by the alternate location mapping specified in the writer component metadata file. - - - + - A requester will restore the files of a selected component or component set following a reboot of the system. - - Files to be restored should be copied to a temporary location, and the requester should use File.Move with the DelayUntilReboot flag - to complete the restoration of these files to their proper location following reboot. (Using AlphaFS for file operations). - + Exception thrown to indicate that the XML document is not valid. Check the event log for details. - + - If possible, a requester will restore the files of a selected component or component set to their correct location immediately. + Initializes a new instance of the + class with a system-supplied message describing the error. - - If there are versions of any of the files managed by the selected component or component set on the disk that cannot be overwritten, then all the files managed by the selected component or component set will be restored following the reboot of the system. - In this case, files to be restored should be copied to a temporary location, and the requester should use File.Move with the DelayUntilReboot flag - to complete the restoration of these files to their proper location following reboot. (Using AlphaFS for file operations). - Windows XP: This value is not supported until Windows Server 2003 - - + - This value indicates that a custom restore method will be used to restore the files managed by the selected component or component set. + Initializes a new instance of the class with a specified error message. + The message that describes the error - + - The requester should perform the restore operation as follows: - - Send the PreRestore event and wait for all writers to process it. - Restore the files to their original locations. - Send the PostRestore event and wait for all writers to process it. - Stop the service. - Restart the service. - - The service to be stopped is specified by the writer beforehand when it calls the IVssCreateWriterMetadata::SetRestoreMethod method. - The requester can obtain the name of the service by examining the property. + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the cause of this exception. + The message that describes the error + The exception that is the cause of the current exception. - + - Defines the set of volume shadow copy protection levels. + Initializes a new instance of the class. - - - - Specifies that I/O to the original volume must be maintained at the expense of shadow copies. - This is the default protection level. Shadow copies might be deleted if both of the following conditions occur: - - - - A write to the original volume occurs. - - - - - The integrity of the shadow copy cannot be maintained for some reason, such as a failure to - write to the shadow copy storage area or a failure to allocate sufficient memory. - - - + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is . + The class name is or is zero (0). + + + The enumeration is used by a writer to indicate to a requester the + conditions under which it will handle events generated during a restore operation. + + + + It is not known whether the writer will perform special operations during the restore operation. + This state indicates a writer error. - + + The writer does not require restore events. + + - Specifies that shadow copies must be maintained at the expense of I/O to the original volume. - All I/O to the original volume will fail if both of the following conditions occur: - - - - A write to the original volume occurs. - - - - - The corresponding write to the shadow copy storage area cannot be completed for some reason, - such as a failure to write to the shadow copy storage area or a failure to allocate sufficient memory. - - - + Indicates that the writer always expects to handle a PreRestore event, but expects to handle a + PostRestore event only if a restore fails when implementing either a + or + restore method () - + + The writer always performs special operations during the restore operation. + + - Defines shadow copy LUN flags. + The VssRollForwardType enumeration is used by a requester to indicate the type of roll-forward operation it is about to perform. - Only supported on Windows Server 2008. + A requester sets the roll-forward operation type and specifies the restore point for partial roll-forward operations + using . - + - The shadow copy LUN will be masked from the host. + + No roll-forward type is defined. + + + This indicates an error on the part of the requester. + - + - The shadow copy LUN will be exposed to the host as a read-write volume. + The roll-forward operation should not roll forward through logs. - + - The disk identifiers of all of the shadow copy LUNs will be reverted to that of the - original LUNs. However, if any of the original LUNs are present on the system, the operation will - fail and none of the identifiers will be reverted. + The roll-forward operation should roll forward through all logs. - + - None of the disk identifiers of the shadow copy LUNs will be reverted. + The roll-forward operation should roll forward through logs up to a specified restore point. - + - The shadow copy LUNs will be converted permanently to read-write. - This flag is set only as a notification for the provider; no provider action is required. - For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. + Enumeration used to discriminate between the named windows versions. + + The values of the enumeration are ordered so a later released operating system version + has a higher number, so comparisons between named versions are meaningful. + - + - The shadow copy LUNs will be converted temporarily to read-write and are about to undergo TxF recovery - or VSS auto-recovery. This flag is set only as a notification for the provider; no provider action is required. - For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. + A windows version earlier than Windows 2000. - + - The shadow copy LUNs have just undergone TxF recovery or VSS auto-recovery and have been converted back to - read-only. This flag is set only as a notification for the provider; no provider action is required. - For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. + Windows 2000 (Server or Professional) - + - The provider must mask shadow copy LUNs from this computer. - For more information, see the IVssHardwareSnapshotProviderEx::OnLunStateChange method. + Windows XP - + - Exception thrown to indicate that the requested object was a duplicate. + Windows Server 2003 - + - Initializes a new instance of the - class with a system-supplied message describing the error. + Windows Vista - + - Initializes a new instance of the class with a specified error message. + Windows Server 2008 - The message that describes the error - + - Initializes a new instance of the class with - a specified error message and a reference to the inner exception that is the cause of this exception. + Windows 7 - The message that describes the error - The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Windows Server 2008 R2 - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - + - Exception thrown to indicate that the system or provider has insufficient storage space. + A Windows version later than Windows Server 2008R2. - - If possible delete any old or unnecessary persistent shadow copies and try again. - - + - Initializes a new instance of the + Exception thrown to indicate that the volume does not support the requested operation, or that no provider supports it. + + + + + Initializes a new instance of the class with a system-supplied message describing the error. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with a specified error message. The message that describes the error - + - Initializes a new instance of the class with + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). + The parameter is . + The class name is or is zero (0). - + - Exception thrown to indicate that the operation is not supported under the current context. + Exception thrown to indicate that the provider returned an unexpected error code. This can be a transient problem. + + It is recommended to wait ten minutes and try again, up to three times. + - + - Initializes a new instance of the + Initializes a new instance of the class with a system-supplied message describing the error. - + - Initializes a new instance of the class with a specified error message. + Initializes a new instance of the class with a specified error message. The message that describes the error - + - Initializes a new instance of the class with + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the error The exception that is the cause of the current exception. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - The enumeration is returned by a provider to specify the state of a given shadow copy operation. - - - Reserved for system use.Unknown shadow copy state. - - - Reserved for system use.Shadow copy is being prepared. - - - Reserved for system use.Processing of the shadow copy preparation is in progress. - - - Reserved for system use.Shadow copy has been prepared. - - - Reserved for system use.Processing of the shadow copy precommit is in process. - - - Reserved for system use.Shadow copy is precommitted. - - - Reserved for system use.Processing of the shadow copy commit is in process. - - - Reserved for system use.Shadow copy is committed. - - - Reserved for system use.Processing of the shadow copy postcommit is in process. - - - Reserved for system use.Processing of the shadow copy file commit operation is underway. - - - Reserved for system use.Processing of the shadow copy file commit operation is done. - - - Reserved for system use.Processing of the shadow copy following the final commit and prior to shadow copy create is underway. - - - Shadow copy is created. - - - Reserved for system use.Shadow copy creation is aborted. - - - Reserved for system use.Shadow copy has been deleted. - - - Reserved value. - - - - The class 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). - - - The following methods return a instance: - - - - - - - - - - - - - - Initializes a new instance of the class. - - The alternate location. - The backup type mask. - The file specification. - The path. - if set to true this file description is recursive. + The parameter is . + The class name is or is zero (0). - + - Obtains the alternate backup location of the component files. + Enumeration used by to indicate the current + processor architecture for which the operating system is targeted and running. - + - Obtains the file backup specification for a file or set of files. + The system is running a 32-bit version of Windows. - Windows XP: This value is not supported in Windows XP and will always return - + - Obtains the file specification for the list of files provided. + The system is running an Itanium processor. - + - Obtains the fully qualified directory path for the list of files provided. + The system is running a 64-bit version of Windows. - + - Determines whether only files in the root directory or files in the entire directory hierarchy are considered for backup. + Unknown architecture. - VSS API reference: IVssWMFiledesc::GetRecursive() diff --git a/thirdparty/alphavss/platform/AlphaVSS.51.x86.dll b/thirdparty/alphavss/platform/AlphaVSS.51.x86.dll new file mode 100755 index 000000000..aeee69c78 Binary files /dev/null and b/thirdparty/alphavss/platform/AlphaVSS.51.x86.dll differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.52.x64.dll b/thirdparty/alphavss/platform/AlphaVSS.52.x64.dll new file mode 100755 index 000000000..bea440ff7 Binary files /dev/null and b/thirdparty/alphavss/platform/AlphaVSS.52.x64.dll differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.52.x86.dll b/thirdparty/alphavss/platform/AlphaVSS.52.x86.dll new file mode 100755 index 000000000..bf1dd2328 Binary files /dev/null and b/thirdparty/alphavss/platform/AlphaVSS.52.x86.dll differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.60.x64.dll b/thirdparty/alphavss/platform/AlphaVSS.60.x64.dll new file mode 100755 index 000000000..93f6f8725 Binary files /dev/null and b/thirdparty/alphavss/platform/AlphaVSS.60.x64.dll differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.60.x86.dll b/thirdparty/alphavss/platform/AlphaVSS.60.x86.dll new file mode 100755 index 000000000..92aedb951 Binary files /dev/null and b/thirdparty/alphavss/platform/AlphaVSS.60.x86.dll differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.Win2003.x64.dll b/thirdparty/alphavss/platform/AlphaVSS.Win2003.x64.dll deleted file mode 100644 index 53e6f596c..000000000 Binary files a/thirdparty/alphavss/platform/AlphaVSS.Win2003.x64.dll and /dev/null differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.Win2003.x86.dll b/thirdparty/alphavss/platform/AlphaVSS.Win2003.x86.dll deleted file mode 100644 index f212d2d71..000000000 Binary files a/thirdparty/alphavss/platform/AlphaVSS.Win2003.x86.dll and /dev/null differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.Win2008.x64.dll b/thirdparty/alphavss/platform/AlphaVSS.Win2008.x64.dll deleted file mode 100644 index 1c0a8e56e..000000000 Binary files a/thirdparty/alphavss/platform/AlphaVSS.Win2008.x64.dll and /dev/null differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.Win2008.x86.dll b/thirdparty/alphavss/platform/AlphaVSS.Win2008.x86.dll deleted file mode 100644 index 155f88fd2..000000000 Binary files a/thirdparty/alphavss/platform/AlphaVSS.Win2008.x86.dll and /dev/null differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.WinXP.x64.dll b/thirdparty/alphavss/platform/AlphaVSS.WinXP.x64.dll deleted file mode 100644 index 81b7aca47..000000000 Binary files a/thirdparty/alphavss/platform/AlphaVSS.WinXP.x64.dll and /dev/null differ diff --git a/thirdparty/alphavss/platform/AlphaVSS.WinXP.x86.dll b/thirdparty/alphavss/platform/AlphaVSS.WinXP.x86.dll deleted file mode 100644 index f2c064816..000000000 Binary files a/thirdparty/alphavss/platform/AlphaVSS.WinXP.x86.dll and /dev/null differ -- cgit v1.2.3