Compartilhar via


Caminho lógico dos componentes

O caminho lógico é usado para organizar componentes gerenciados por um gravador em grupos bem definidos.

O caminho lógico é análogo na estrutura ao caminho de arquivo tradicional, usando a barra invertida "\" para separar elementos no caminho. Ao contrário dos caminhos de arquivo, a raiz de um caminho lógico é NULL, em vez de "\".

O caminho lógico é expresso como uma cadeia de caracteres terminada em NULL e não há outras restrições nos caracteres que o caminho pode conter.

O uso mais importante do caminho lógico está na definição de conjuntos de componentes, em que a inclusão explícita do componente em uma operação de backup ou restauração de um componente selecionável requer a inclusão de vários outros componentes (subcomponente). O caminho lógico do componente definidor de um conjunto de componentes é um pai para os caminhos lógicos de seus subcomponentes e:

  • Os subcomponentes devem compartilhar como um caminho raiz o caminho lógico do componente selecionável que define o conjunto de componentes.
  • Um caminho raiz de NULL é válido.
  • O nome do componente selecionável definidor deve ser o primeiro elemento de caminho lógico após o caminho raiz para cada subcomponente não reelecionável do conjunto de componentes.
  • Os conjuntos de componentes podem ser aninhados.
  • A combinação de caminho lógico e nome do componente deve ser exclusiva em todas as instâncias de uma classe de gravador.

O exemplo hipotético de um gravador MyWriter com uma estrutura de caminho lógico definida abaixo ilustra o caminho lógico.

Nome do Componente Caminho lógico Selecionável para backup
"Executáveis" "" N
"ConfigFiles" "Executáveis" N
"LicenseInfo" "" S
“Segurança” "" S
"UserInfo" “Segurança” N
"Certificados" “Segurança” N
"writerData" "" S
"Set1" "writerData" N
"Jan" "writerData\Set1" N
"Dez" "writerData\Set1" N
"Set2" "writerData" N
"Jan" "writerData\Set2" N
"Dez" "writerData\Set2" N
"Consulta" "writerData\QueryLogs" N
"Uso" "writerData" S
"Jan" "writerData\Usage" N
"Dez" "writerData\Usage" N

 

Observe que os componentes "Executables" e "ConfigFile" têm uma relação pai-filho, mas ambos são não reelecionáveis. Portanto, eles não formam um conjunto de componentes. Sempre que o gravador MyWriter for feito backup ou restaurado, esses dois componentes precisarão ser incluídos explicitamente na operação.

O componente "LicenseInfo" é selecionável sem ancestral nem descendente. Ele pode ser incluído explicitamente ou não em uma operação de backup ou restauração a critério do solicitante.

O componente "Segurança" define um conjunto de componentes simples, sem nenhum conjunto de componentes abaixo dele.

O componente "writerData" define um conjunto de componentes, que contém uma coleção complexa de componentes com várias hierarquias de caminho lógico bem definidas abaixo dele.

Um subcomponente, "Uso", é selecionável e define um conjunto de componentes.

Vários componentes têm o mesmo nome e são diferenciados por seus caminhos lógicos. As instâncias dos componentes não reelecionáveis "Dec" e "Jan" existem nos componentes componentes não reelecionáveis "Set1" e "Set2" e no subcomponente selecionável "Uso".

Se o componente "writerData" for explicitamente incluído em um backup ou restauração, todos os seus subcomponentes, mesmo aqueles no conjunto de componentes aninhados definido por "Uso", serão incluídos implicitamente na operação.

Se o conjunto de componentes definido por "writerData" não estiver explicitamente incluído em um backup ou restauração, os componentes "Set1", "Set2" e "QueryLogs" (e suas instâncias de subcomponentes "Dec" e "Jan") não serão incluídos implicitamente na operação de backup ou restauração.

No entanto, mesmo que "writerData" não esteja incluído na operação, o componente "Uso" ainda será selecionável e ainda poderá ser incluído explicitamente em uma operação de backup ou restauração. Se for, seus subcomponentes "Jan" e "Dez" serão incluídos implicitamente.

Outros pontos dignos de observação:

  • Os componentes selecionáveis "LicenseInfo" e "writerData" e o componente não selecionável "Executables" estão todos no mesmo nível na hierarquia de caminho lógico do MyWriter: todos têm o mesmo caminho lógico de NULL ou "", o caminho lógico raiz.
  • O componente selecionável "Uso" nunca deve ser incluído explicitamente em um backup, se seu pai selecionável ("writerData") estiver explicitamente incluído em uma operação de backup ou restauração.
  • Componentes que definem conjuntos de componentes podem existir simplesmente por motivos organizacionais. Por exemplo, o componente "writerData" ou "Uso" ou ambos podem estar vazios; ou seja, nenhum conjunto de arquivos foi adicionado a eles usando o método IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles ou IVssCreateWriterMetadata::AddDatabaseLogFiles . Os componentes ainda definem um conjunto de componentes.