Función ClfsAddLogContainer (wdm.h)

La rutina ClfsAddLogContainer agrega un contenedor a un registro clFS.

Sintaxis

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

Parámetros

[in] plfoLog

Puntero a una estructura LOG_FILE_OBJECT que representa el registro al que se agregará el contenedor. El autor de la llamada obtuvo previamente este puntero mediante una llamada a ClfsCreateLogFile.

[in] pcbContainer

Puntero a una variable con tipo ULONGLONG. El rol de este parámetro depende de si el registro tiene al menos un contenedor.

  • Si el registro no tiene actualmente contenedores, el autor de la llamada proporciona un entero positivo que es el tamaño solicitado, en bytes, del nuevo contenedor. CLFS crea un contenedor que es el tamaño solicitado redondeado a un múltiplo de 512 KB (para un registro dedicado) o 1 MB (para un registro multiplexado).
  • Si el registro tiene al menos un contenedor y este parámetro es el puntero NULL , CLFS crea un nuevo contenedor con el mismo tamaño que los contenedores existentes. (Todos los contenedores de un registro deben tener el mismo tamaño).
  • Si el registro tiene al menos un contenedor y este parámetro es un puntero válido, el autor de la llamada proporciona un entero positivo que es el tamaño solicitado, en bytes, del nuevo contenedor. El tamaño solicitado se redondea a un múltiplo de 512 KB (para un registro dedicado) o 1 MB (para un registro multiplexado). Si el tamaño redondeado es al menos tan grande como el tamaño del contenedor existente, CLFS crea un nuevo contenedor con el mismo tamaño que los contenedores existentes. Si se devuelve correctamente, este parámetro recibe el tamaño del contenedor existente. Si el tamaño redondeado es menor que el tamaño del contenedor existente, se produce un error en ClfsAddLogContainer .

[in] puszContainerPath

Puntero a una estructura de UNICODE_STRING que proporciona el nombre de ruta de acceso para el nuevo contenedor. La ruta de acceso puede ser absoluta o relativa a la ubicación del archivo de registro base. Las rutas de acceso relativas al archivo de registro base deben comenzar por CLFS_CONTAINER_RELATIVE_PREFIX, que es el literal de cadena (L"%BLF%\").

Valor devuelto

ClfsAddLogContainer devuelve STATUS_SUCCESS si se realiza correctamente; de lo contrario, devuelve uno de los códigos de error definidos en Ntstatus.h.

Comentarios

Un contenedor es una extensión contigua en el almacenamiento estable. Por ejemplo, un contenedor podría ser un archivo contiguo en el disco. Un registro es un conjunto de contenedores junto con un archivo de registro base. Para obtener más información sobre los contenedores, consulte Almacenamiento estable de CLFS.

Un contenedor especificado por una ruta de acceso relativa al archivo de registro base debe estar en el mismo directorio que el archivo de registro base o un subdirectorio del archivo de registro base. Los directorios "." y ".." no se permiten en una ruta de acceso relativa.

Un registro puede tener algunos contenedores con rutas de acceso absolutas y otros contenedores con rutas de acceso relativas.

Los contenedores se crean en modo no comprimido y se inicializan con ceros.

Un registro debe tener al menos dos contenedores antes de que se pueda realizar cualquier E/S en él.

Para obtener una explicación de los conceptos y la terminología de CLFS, consulte Common Log File System.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Server 2003 R2, Windows Vista y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado wdm.h (incluya Wdm.h)
Library Clfs.lib
Archivo DLL Clfs.sys
IRQL <= APC_LEVEL

Consulte también

ClfsAddLogContainerSet

ClfsRemoveLogContainer