Método IVssComponent::GetPartialFile (vswriter.h)

El método GetPartialFile devuelve información sobre un archivo parcial asociado a este componente.

Sintaxis

HRESULT GetPartialFile(
  [in]  UINT iPartialFile,
  [out] BSTR *pbstrPath,
  [out] BSTR *pbstrFilename,
  [out] BSTR *pbstrRange,
  [out] BSTR *pbstrMetadata
);

Parámetros

[in] iPartialFile

Número de índice del archivo parcial. El valor de este parámetro es un entero comprendido entre 0 y n-1, donde n es el número total de archivos parciales asociados a un componente determinado. IVssComponent::GetPartialFileCount devuelve el valor de n.

[out] pbstrPath

Puntero a una cadena que contiene la ruta de acceso del archivo parcial.

Los usuarios de este método deben comprobar si esta ruta de acceso termina con una barra diagonal inversa ("").

[out] pbstrFilename

Puntero a una cadena que contiene el nombre del archivo parcial.

[out] pbstrRange

Puntero a una cadena que contiene una lista de desplazamientos y longitudes de archivo que componen el intervalo de compatibilidad parcial de archivos (las secciones del archivo del que se ha hecho una copia de seguridad) o el nombre de un archivo que contiene dicha lista.

[out] pbstrMetadata

Puntero a una cadena que contiene los metadatos adicionales requeridos por un escritor para validar una operación de restauración de archivos parcial. La información de esta cadena de metadatos será opaca para los solicitantes.

No se requieren metadatos adicionales, por lo que pbstrMetadata también puede estar vacío (longitud cero).

Valor devuelto

A continuación se muestran los códigos de retorno válidos para este método.

Valor Significado
S_OK
Se devolvió correctamente el valor del atributo.
E_INVALIDARG
Uno de los valores de parámetro no es válido.
E_OUTOFMEMORY
El autor de la llamada no tiene memoria u otros recursos del sistema.
VSS_E_BAD_STATE
El autor de la llamada no está en el estado correcto (copia de seguridad o restauración) para la operación.
VSS_E_INVALID_XML_DOCUMENT
El documento XML no es válido. Compruebe el registro de eventos para obtener más información. Para obtener más información, vea Control de eventos y errores en VSS.
VSS_E_OBJECT_NOT_FOUND
No se encontró el elemento especificado.

Comentarios

El llamador debe liberar la memoria que mantiene el parámetro pbstrPath, pbstrFilename, pbstrRange y pbstrMetadata llamando a SysFreeString.

Un intervalo indica una subsección de un archivo determinado del que se va a realizar una copia de seguridad, independientemente del resto del archivo.

La sintaxis de la lista de intervalos (pbstrRanges) es la de una lista separada por comas del formulario offset1:length1, offset2:length2, donde cada desplazamiento y longitud es un entero de 64 bits que especifica un desplazamiento de bytes y una longitud en bytes, respectivamente. El desplazamiento y la longitud se pueden expresar como valores hexadecimales o decimales.

Si pbstrRanges hace referencia a un archivo que contiene todos los desplazamientos y longitudes (un archivo ranges), pbstrRanges debe contener la ruta de acceso completa al archivo.

Si wszRange hace referencia a un archivo que contiene todos los desplazamientos y longitudes (un archivo ranges), wszRange debe contener la ruta de acceso completa al archivo.

Un archivo ranges debe ser un archivo binario con el siguiente formato:

  1. Entero de 64 bits que indica el número de intervalos de archivos distintos de los que se debe realizar una copia de seguridad.
  2. Cada intervalo expresado como un par de enteros de 64 bits: el desplazamiento en el archivo del que se realiza una copia de seguridad, en bytes y la longitud de los datos a partir de ese desplazamiento de los que se va a realizar una copia de seguridad.
Se debe haber realizado una copia de seguridad de un archivo de intervalos junto con el archivo parcial y normalmente se restaura en la misma ubicación desde la que se hizo una copia de seguridad.

Sin embargo, el solicitante podría modificar la ubicación a la que se restaura un archivo de intervalos, que usa IVssBackupComponents::SetRangesFilePath para indicarlo y actualizar el documento de componentes de copia de seguridad para que pbstrRanges indique el archivo de intervalos correcto.

Un solicitante usaría la información de intervalos devuelta por GetPartialFile para restaurar las secciones de copia de seguridad en la ubicación adecuada dentro de la copia del archivo en disco en el momento de la restauración.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vswriter.h (incluye Vss.h, VsWriter.h)
Library VssApi.lib

Consulte también

IVssBackupComponents::SetRangesFilePath

IVssComponent

IVssComponent::AddPartialFile

IVssComponent::GetPartialFileCount