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

O método AddComponent adiciona um banco de dados ou grupo de arquivos como um componente a ser feito o backup.

Sintaxe

HRESULT AddComponent(
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] LPCWSTR            wszCaption,
  [in] const BYTE         *pbIcon,
  [in] UINT               cbIcon,
  [in] bool               bRestoreMetadata,
  [in] bool               bNotifyOnBackupComplete,
  [in] bool               bSelectable,
  [in] bool               bSelectableForRestore,
  [in] DWORD              dwComponentFlags
);

Parâmetros

[in] ct

Um valor de enumeração VSS_COMPONENT_TYPE especificando o tipo do componente.

Windows Server 2003 e Windows XP: Antes do Windows Server 2003 com SP1, esse parâmetro é reservado para uso do sistema e o chamador não deve substituir o valor padrão.

[in] wszLogicalPath

Um ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o caminho lógico do banco de dados ou do grupo de arquivos. Para obter mais informações, consulte Caminhos lógicos de componentes.

Um caminho lógico é opcional e pode ser NULL.

[in] wszComponentName

Um ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o nome do componente. Essa cadeia de caracteres não está localizada.

Esse parâmetro é necessário e não pode ser NULL. A cadeia de caracteres não pode conter barras invertidas.

[in] wszCaption

Um ponteiro para uma cadeia de caracteres largos terminada em nulo que contém uma descrição (também chamada de "nome amigável") para o componente. Essa cadeia de caracteres pode ser localizada e, portanto, os solicitantes devem assumir que ela está localizada.

Esse parâmetro é opcional e pode ser NULL. A cadeia de caracteres pode conter barras invertidas.

[in] pbIcon

Um ponteiro para um bitmap do ícone que representa o banco de dados, a ser exibido em uma interface do usuário. O tamanho, em bytes, do buffer é especificado pelo parâmetro cbIcon .

Se o gravador não quiser especificar um ícone, pbIcon deverá ser definido como NULL.

[in] cbIcon

O tamanho do buffer, em bytes. Se o parâmetro pbIcon for NULL, cbIcon deverá ser zero.

[in] bRestoreMetadata

Esse parâmetro é reservado para uso futuro e deve ser sempre definido como false.

[in] bNotifyOnBackupComplete

Esse parâmetro é reservado para uso futuro e deve ser sempre definido como false.

[in] bSelectable

Um booliano que indica se o componente pode ser copiado opcionalmente (o que significa que ele pode ser excluído do backup) ou é sempre feito backup quando qualquer componente do gravador é copiado em backup. O booliano será verdadeiro se o componente puder ser copiado seletivamente e falso se for feito backup quando qualquer um dos componentes tiver backup.

[in] bSelectableForRestore

Um booliano que determina se um componente pode ser restaurado individualmente quando não foi incluído explicitamente no documento de backup. Se o componente tiver sido adicionado explicitamente ao documento de backup, ele sempre poderá ser selecionado individualmente para restauração; nesse caso, esse sinalizador não tem significado.

Quando true, o componente pode ser restaurado por si só; quando false, o componente só poderá ser restaurado se todo o conjunto de componentes estiver sendo restaurado. (Consulte VSS_COMPONENTINFO e Trabalhando com Selebilidade e Caminhos Lógicos para obter mais informações).

O valor padrão para esse parâmetro é false.

[in] dwComponentFlags

Uma máscara de bits (ou OR bit a bit) de membros da enumeração VSS_COMPONENT_FLAGS indicando os recursos compatíveis com esse componente.

O valor padrão para esse argumento é zero.

Retornar valor

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_ALREADY_EXISTS
O objeto é duplicado. Já existe um componente com o mesmo caminho lógico e o nome do componente.
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

Esse método pode ser chamado várias vezes para adicionar vários componentes aos metadados de um gravador.

A combinação de caminho lógico e nome para cada componente de uma determinada instância de uma determinada classe de gravador deve ser exclusiva. Tentar chamar AddComponent duas vezes com os mesmos valores de wszLogicalPath e wszComponentName resulta em um erro de VSS_E_OBJECT_ALREADY_EXISTS.

AddComponent pode ser usado para adicionar subcomponentes— componentes nos quais todos os arquivos de membro são copiados como um grupo, mas que contêm arquivos que podem ser restaurados individualmente. Consulte Trabalhando com a selebilidade para restauração e subcomponentes para obter mais informações.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [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

Confira também

IVssCreateWriterMetadata