File specification. Can include wildcard characters ? and * Path to a file. The path can include environment variables or values extracted from registry keys. Is path specified recursive or limited to the directory that is specified. Alternate path in which to find the file. Files in a file group may have been copied to an alternative location by the writer. Backup should pick up the files from the alternative location instead of the original location but should restore the files to their original location Logical path for a database or file group. This logical name uses backslash as separators to form a logical namespace hierarchy Name used to identify a database or file group. May be qualified by a logical path. Version of a specific document Unique id to identify the writer. Note that this identifies the writer class rather than a specific instance of the writer. Unique id identifying the instance of a writer during backup. It has no meaning during restore. Components that are backed up or restored. Used to communicate between the writer and the backup application during backup and restore. Does the backup application select individual components or does it backup entire volumes Is backup saving the bootable state of the system. Type of backup being performed. Type of restore being performed. Indicates whether the requestor is capable of backing up and restoring portions of files. If no, then the writer should never generate PARTIAL_FILE or DIRECTED_RESTORE elements. Only entire files can be backed up or restored. Components that are backed up and restored that are associated with a specific writer instance Indication of whether the component was backed up successfully or not. This should be set during the BackupComplete notification Indication of whether component is database or file group This string attribute contains the identifier assigned to the backup by the writer. The attribute is set by the writer either during the PrepareBackup or PostSnapshot event. In the case of an incremental or differential backup, this identifies the backup from which differences are compouted. This attribute is set by the requestor prior to the PrepareBackup event. This yes/no attribute is set by the request prior to calling PreRestore and indicates whether the component is being restored or not. This yes/no attribute is set by the requestor prior to calling PreRestore and indicates whether additional restores of the component will follow (i.e., ull restore followed by log restores This enumerated attribute is set by the writer during PreRestore and indicates whether the files for the component should be restored to their original location, alternate location (as expressed by ALTERNATE_LOCATION_MAPPING elements in the metadata), new location (as expressed by RESTORE_TARGET elements created by the writer) or should be partially restored (as expressed by the DIRECTED_TARGET element created by the writer. This attirbute is set by the writer during the PreRestore event if the preRestore operation failed for some reason. It gives a textual description of why the preRestore failed. This attribute is set by the requestor after restoring files for the component (i.e., between the PreRestore and PostRestore events). Yes indicates that the files were restored successfully; no indicates that the files were not restored and the original files are intact; failed indicates that the original files were partially overwritten and are therefore corrupt. Note that the failed status can only occur in the situation of a restore of a file where only part of the data is restored (DIRECTED_RESTORE) or where only part of a file is backed up and restored (e.g., as part of a differential backup). In these cases a failed restore occurs if some of the data to be restored is written to the file but not all. In this case, the original copy of the file no long exists and the copy on tape is not complete and therefore cannot be used to create a consistent copy. The only option is to use a previous full backup to restore the data. Note that the "failed" indication can be used to indicate that some, but no all of the files of a component were restored. The requestore is required to either restore all the files of a component or none of the files. However, there are situations where this is not possible, and the restoration of a component has failed, but cannot be completely undone. This string attribute is set by the writer during the PostRestore event. It is a text message indicating why the restore failed. This is a private string passed between the requestor and the writer to control the backup of the component. It should be set by the requestor prior to the PrepareBackup event. This is a private string passsed between to requestor and the writer to control the restore of a component. It should be set by the requestor prior to the PreRestore event. Mapping from a location that was backed up to a location to restore to. Default metadata element for backup. Content is a binary hex string. Note that the writer can store whatever he wants in the component. This is just a simple default mechanism. Metadata to be passed on restore Default metadata element for passing information from the writer's PreRestore event to the writer's PostRestore event. The data is opaque to the requestor. Metadata to be passed from PreRestore to PostRestore. This element in a COMPONENT should be supplied if the value of the restoreTarget attribute of the COMPONENT is "new". It supplies a mapping from a the original location of the file to the location where the file should be restored. There may be multiple RESTORE_TARGET elements within a component. This element in a COMPONENT should be should be supplied if the value of the restoreTarget attribute of the COMPONENT is "directed". It is intended to support partial restoration of files or potentially how files should be reorganized upon restore. There may be multiple DIRECTED_TARGET elements within a component. This is the target location of the file that is to be written by the requestor. If this attribute is not specified then the targetPath is assumed to be the same as the original path. This is the name of the file that is to be written by the requestor. If this is not specified then the target filename is assumed to be the same as the original file name. Note that if both the targetPath and targetFilespec are not specified then the original file is overwritten. This is a string of the form (offset:cb ...) where each offset is the byte offset to start reading data and cb is the length of the data to be read (each is a 64 bit integer). The ranges may not overlap and must be monotonically increasing. This is a string of the form (offset:cb ...) where each offset is the byte offset to start wrting data and cb is the length of the data to be written (each is a 64 bit integer). The ranges may not overlap and must be monotonically increasing. This element in a COMPONENT is supplied by the writer during the PostRestore event. It indicates that only a portion of the file should be backed up. There may be multiple PARTIAL_FILE elements within a single COMPONENT. This range list has the form (offset:length ...) where offset is the byte offset in the file to be backed up and length is the length of the data to be backed up. Both are 64 bit integers. The ranges must be monotonically increasing and must not overlap. If the rangelist is not specified then the entire file should be backed up. This is metadata used by the writer for restoring the partial backup. It might for example, include the total size of the file to be restored. This element in a COMPONENT is added by the requestore prior to the PreRestore event. It allows a subcomponent of a backed up component to be restored. This indicates that the purpose of the restore is to repair one or more files of the component. The writer is responsible for identifying what is to be restored using a DIRECTED_TARGET element. This describes a snapshot, including the snapshot set id as well as the volume information for the snapshotted volumes this is the unique identifier for the snapshot this is the context used to create the snapshot this is private metadata about the snapshot set this is a user description of the snapshot this is the original count of snapshots in the snapshot set This is the description of a snapshotted volume This is the unique id of the snapshotted volume This is the machine where the original volume was snapshotted This is the Application Server machine (i.e. where the writers were notified) This is the original name of the volume. this describes the actual snapshot attributes (as defined in VSS_VOLUME_SNAPSHOT_ATTRIBUTES) This is the internal device name for the snapshotted volume. This can be used if the snapshot is not exposed. This is the exposed name of the snapshot volume If only a subdirectory is exposed, this is the path to that subdirectory. This is the provider that surfaced the snapshot this is when the snapshot set was created. Is the original volume for the snapshot dynamic or basic This is the id of the mapped local snapshot in case that this object stands for a remote virtual snapshot This is the name of the volume that maps to the original share in case that this object stands for a remote snapshot This is the path of the original share from the volume root. Relevant only if that this object stands for a remote snapshot Actual mapping of source lun to a destination lun This is the device name of the source device on the originating machine. Note that this is only used during snapshot creation A particular disk extent on a LUN starting offset of the extent in sectors length of the extent in sectors The information for the lun on the originating volume The information for the lun on the snapshotted volume An interconnect address including the address type interconnect address type. Describes type of the interconnect address stored in the interconnectAddress attribute Port through which the interconnect address is referred to. Note that the same device may have different interconnect addresses through different ports. World Wide name or other interconnect address of the device enough of the location and name of the lun to transport it. TBD Type of bus that the LUN is attached to SCSI-2 device type SCSI-2 device type modifier (if any) - this may be 0 Flag indicating whether the device can support mulitple outstanding commands. The actual synchronization in this case is the responsibility of the port driver. Optional string identifying the vendor Optional string identifying the product Optional product revision information Optional serial number of the device Disk signature or GUID. If a signature than all but the lower 32 bits of the GUID are 0. UUENCODED binary for the device identification page as defined by the STORAGE_DEVICE_ID_DESCRIPTOR structure. This contains the vendor id, EUI-64 id, FC-PH name, and vendor specific data. The writer used these elements to indicate differenced files. The LSN that indicates the point of the last backup. The time that indicates the point of the last backup. The time that indicates the point of the last backup.