Compartir a través de


Función ClfsAddLogContainerSet (wdm.h)

El ClfsAddLogContainerSet rutina 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 LOG_FILE_OBJECT que representa el registro al que se agregarán los contenedores. El autor de la llamada obtuvo anteriormente este puntero llamando a ClfsCreateLogFile.

[in] cContainers

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

[in, optional] 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 contenedores actualmente, 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 que tienen 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 que tienen 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 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. El número de elementos de la matriz lo da cContainers. 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 con 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.

Observaciones

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 Valor
cliente mínimo admitido Disponible en Windows Server 2003 R2, Windows Vista y versiones posteriores de Windows.
de la plataforma de destino de Escritorio
encabezado de wdm.h (incluya Wdm.h)
biblioteca de Clfs.lib
DLL de Clfs.sys
irQL <= APC_LEVEL

Consulte también

ClfsAddLogContainer

ClfsRemoveLogContainerSet