Função ClfsAddLogContainer (wdm.h)

A rotina ClfsAddLogContainer adiciona um contêiner a um log CLFS.

Sintaxe

CLFSUSER_API NTSTATUS ClfsAddLogContainer(
  [in] PLOG_FILE_OBJECT plfoLog,
  [in] PULONGLONG       pcbContainer,
  [in] PUNICODE_STRING  puszContainerPath
);

Parâmetros

[in] plfoLog

Um ponteiro para uma estrutura LOG_FILE_OBJECT que representa o log ao qual o contêiner será adicionado. O chamador obteve esse ponteiro anteriormente chamando ClfsCreateLogFile.

[in] pcbContainer

Um ponteiro para uma variável do tipo ULONGLONG. A função desse parâmetro depende se o log atualmente tem pelo menos um contêiner.

  • Se o log atualmente não tiver contêineres, o chamador fornecerá um inteiro positivo que é o tamanho solicitado, em bytes, do novo contêiner. O CLFS cria um contêiner que é o tamanho solicitado arredondado para um múltiplo de 512 KB (para um log dedicado) ou 1MB (para um log multiplexado).
  • Se o log tiver pelo menos um contêiner e esse parâmetro for o ponteiro NULL , o CLFS criará um novo contêiner do mesmo tamanho que os contêineres existentes. (Todos os contêineres em um log devem ter o mesmo tamanho.)
  • Se o log tiver pelo menos um contêiner e esse parâmetro for um ponteiro válido, o chamador fornecerá um inteiro positivo que é o tamanho solicitado, em bytes, do novo contêiner. O tamanho solicitado é arredondado para um múltiplo de 512 KB (para um log dedicado) ou 1 MB (para um log multiplexado). Se o tamanho arredondado for pelo menos tão grande quanto o tamanho do contêiner existente, o CLFS criará um novo contêiner do mesmo tamanho que os contêineres existentes. No retorno bem-sucedido, esse parâmetro recebe o tamanho do contêiner existente. Se o tamanho arredondado for menor que o tamanho do contêiner existente, ClfsAddLogContainer falhará.

[in] puszContainerPath

Um ponteiro para uma estrutura UNICODE_STRING que fornece o nome do caminho para o novo contêiner. O caminho pode ser absoluto ou relativo ao local do arquivo de log base. Os caminhos relativos ao arquivo de log base devem começar com CLFS_CONTAINER_RELATIVE_PREFIX, que é o literal da cadeia de caracteres (L"%BLF%\").

Retornar valor

ClfsAddLogContainer retornará STATUS_SUCCESS se for bem-sucedido; caso contrário, retornará um dos códigos de erro definidos em Ntstatus.h.

Comentários

Um contêiner é uma extensão contígua no armazenamento estável. Por exemplo, um contêiner pode ser um arquivo contíguo no disco. Um log é um conjunto de contêineres junto com um arquivo de log base. Para obter mais informações sobre contêineres, consulte Armazenamento Estável CLFS.

Um contêiner especificado por um caminho relativo ao arquivo de log base deve estar no mesmo diretório que o arquivo de log base ou um subdiretório do arquivo de log base. Os diretórios "." e "." não são permitidos em um caminho relativo.

Um log pode ter alguns contêineres com caminhos absolutos e outros contêineres com caminhos relativos.

Os contêineres são criados em um modo não compactado e são inicializados com zeros.

Um log deve ter pelo menos dois contêineres antes que qualquer E/S possa ser executada nele.

Para obter uma explicação dos conceitos e terminologia do CLFS, consulte Common Log File System.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Server 2003 R2, Windows Vista e versões posteriores do Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (inclua Wdm.h)
Biblioteca Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

Confira também

ClfsAddLogContainerSet

ClfsRemoveLogContainer