Compartilhar via


Método IVssCreateWriterMetadata::AddComponentDependency (vswriter.h)

O método AddComponentDependency permite que um gravador indique que um componente gerenciado por ele tem uma dependência explícita do gravador-componente; ou seja, outro componente em outro gravador deve ser copiado em backup e restaurado com ele.

Sintaxe

HRESULT AddComponentDependency(
  [in] LPCWSTR wszForLogicalPath,
  [in] LPCWSTR wszForComponentName,
  [in] VSS_ID  onWriterId,
  [in] LPCWSTR wszOnLogicalPath,
  [in] LPCWSTR wszOnComponentName
);

Parâmetros

[in] wszForLogicalPath

Uma cadeia de caracteres largos terminada em nulo que contém o caminho lógico do componente (gerenciado pelo gravador atual) que requer uma dependência.

[in] wszForComponentName

Uma cadeia de caracteres largos terminada em nulo que contém o componente (gerenciado pelo gravador atual) que requer uma dependência.

[in] onWriterId

A ID da classe ou o GUID (VSS_ID ) do gravador que gerencia o componente do qual o componente atual depende.

[in] wszOnLogicalPath

O caminho lógico do componente (gerenciado pelo gravador identificado por onWriterId) do qual o componente atual depende.

[in] wszOnComponentName

O nome do componente (gerenciado pelo gravador identificado por onWriterId) do qual o componente atual depende.

Valor retornado

Veja a seguir os códigos de retorno válidos para esse método.

Valor Significado
S_OK
A operação foi bem-sucedida.
E_INVALIDARG
Um dos valores de parâmetro não é válido.
E_OUTOFMEMORY
O chamador está sem memória ou outros recursos do sistema.
VSS_E_INVALID_XML_DOCUMENT
O documento XML não é válido. Verifique o log de eventos para obter detalhes. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.
VSS_E_OBJECT_NOT_FOUND
O componente especificado por wszForLogicalPath e wszForComponentName não existe.
VSS_E_UNEXPECTED
Erro inesperado. O código de erro é registrado no arquivo de log de erros. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Server 2008 R2 e o Windows 7. E_UNEXPECTED é usado.

Comentários

Dependências de componentes gerenciados pelo gravador atual não são permitidas.

Uma dependência requer que o destino da dependência e o componente que depende do destino sejam restaurados e em backup juntos. Ele não indica uma prioridade entre os componentes, embora um solicitante possa optar por implementar isso.

Como a combinação de nome lógico e nome do componente deve ser exclusiva em todas as instâncias de uma classe de gravador, o fato de vários gravadores terem a mesma ID de classe não é um problema.

Esse método pode ser usado para declarar dependências remotas. Um gravador pode declarar uma dependência remota anexando "\\RemoteComputerName", em que RemoteComputerName é o nome do computador em que o componente remoto reside, para o caminho lógico no parâmetro wszOnLogicalPath . O valor de RemoteComputerName pode ser um endereço IP ou um nome de computador retornado pela função GetComputerNameEx .

Se o componente remoto residir em um cluster, o gravador deverá relatar o nome virtual do cluster e é responsabilidade do solicitante mapear o nome virtual para o nome físico de um nó de cluster antes que uma cópia de sombra de volume possa ser criada.

Para determinar se uma dependência é local ou remota, o solicitante deve examinar o nome do componente retornado no parâmetro pbstrComponentName . Se o nome do componente começar com "\", o solicitante deverá assumir que ele especifica uma dependência remota e que o primeiro componente a seguir "\" é o RemoteComputerName especificado pelo gravador. Se o nome do componente não começar com "\", o solicitante deverá presumir que ele especifica uma dependência local.

Windows Server 2003: Esse método não pode ser usado para declarar dependências remotas até o Windows Server 2003 com Service Pack 1 (SP1).

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vswriter.h (inclua Vss.h, VsWriter.h)
Biblioteca VssApi.lib