Función ClfsAddLogContainerSet (wdm.h)

La rutina ClfsAddLogContainerSet agrega de forma atómica un conjunto de contenedores a un registro CLFS.

Sintaxis

CLFSUSER_API NTSTATUS ClfsAddLogContainerSet(
  [in]           PLOG_FILE_OBJECT plfoLog,
  [in]           USHORT           cContainers,
  [in, optional] PULONGLONG       pcbContainer,
  [in]           PUNICODE_STRING  rguszContainerPath
);

Parámetros

[in] plfoLog

Puntero a una estructura de LOG_FILE_OBJECT que representa el registro al que se agregarán los contenedores. El autor de la llamada obtuvo este puntero llamando a ClfsCreateLogFile.

[in] cContainers

Número de contenedores del conjunto. Este es el número de elementos de la matriz rguszContainerPath .

[in, optional] pcbContainer

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

  • Si el registro actualmente no tiene contenedores, el autor de la llamada proporciona un entero positivo que es el tamaño solicitado, en bytes, de un contenedor individual. CLFS crea contenedores que son el tamaño solicitado redondeado hasta un múltiplo de 512 KB (para un registro dedicado) o 1 MB (para un registro multiplexado).
  • Si el registro tiene actualmente al menos un contenedor y este parámetro es el puntero NULL , CLFS crea nuevos contenedores 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 actualmente 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, de un contenedor individual. El tamaño solicitado se redondea hasta un múltiplo de 512 KB (para un registro dedicado) o 1 MB (para un registro compartido). Si el tamaño redondeado es al menos tan grande como el tamaño del contenedor existente, CLFS crea nuevos contenedores con el mismo tamaño que los contenedores existentes. Si la devolución se realiza 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 ClfsAddLogContainerSet .

[in] rguszContainerPath

Puntero a una matriz de estructuras de UNICODE_STRING . Cada cadena proporciona el nombre de ruta de acceso para uno de los nuevos contenedores. CContainers asigna el número de elementos de la matriz. Una ruta de acceso determinada 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 ejecuta 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 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

ClfsAddLogContainer

ClfsRemoveLogContainerSet