Función ClfsAddLogContainer (wdm.h)
La rutina de 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 anteriormente este puntero llamando 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 contenedores actualmente, 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 hasta un múltiplo de 512 KB (para un registro dedicado) o 1 MB (para un registro multiplexado).
- Si el registro actualmente tiene al menos un contenedor y este parámetro es el puntero NULL, CLFS crea un nuevo contenedor que tiene 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, del nuevo contenedor. El tamaño solicitado se redondea hasta 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 que tiene 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 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 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 |