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 |