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 |
---|---|
|
A operação foi bem-sucedida. |
|
Um dos valores de parâmetro não é válido. |
|
O chamador está sem memória ou outros recursos do sistema. |
|
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. |
|
O componente especificado por wszForLogicalPath e wszForComponentName não existe. |
|
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 |