Compartir a través de


Función ClfsMgmtSetLogFileSize (wdm.h)

La rutina ClfsMgmtSetLogFileSize agrega contenedores a un registro o elimina contenedores de un registro.

Sintaxis

CLFSUSER_API NTSTATUS ClfsMgmtSetLogFileSize(
  [in]           PLOG_FILE_OBJECT                     LogFile,
  [in]           PULONGLONG                           NewSizeInContainers,
  [out]          PULONGLONG                           ResultingSizeInContainers,
  [in, optional] PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK CompletionRoutine,
  [in, optional] PVOID                                CompletionRoutineData
);

Parámetros

[in] LogFile

Puntero a una estructura de LOG_FILE_OBJECT que representa el registro clFS, o una secuencia dentro del registro, a la que se agregan o eliminan contenedores.

[in] NewSizeInContainers

Puntero al tamaño de registro solicitado. El llamador establece este parámetro en uno de los valores siguientes.

Valor Significado
0 Aplique la directiva de tamaño mínimo. Para obtener más información sobre esta directiva, vea ClfsMgmtInstallPolicy.

Si no se instala una directiva de tamaño mínimo, se produce una de las siguientes acciones:

  • Si el registro tiene actualmente menos de 2 contenedores, el registro se expandirá a un tamaño de 2 contenedores.
  • Si el registro tiene actualmente 2 o más contenedores, no se realizan cambios y la llamada se realiza correctamente.
Si se instala una directiva de tamaño mínimo, se produce una de las siguientes acciones:
  • Si el registro tiene actualmente menos del número mínimo de contenedores especificados por la directiva de tamaño mínimo, el registro se expande al número mínimo de contenedores especificado por la directiva.
  • Si el número de contenedores del registro es mayor o igual que el número mínimo de contenedores especificados por la directiva de tamaño mínimo, no se realizan cambios y la llamada se realiza correctamente sin errores.
1 Valor no válido Se produce un error en la llamada y devuelve STATUS_INVALID_VALUE.
De 2 a 1023 Tamaño deseado del registro, expresado como el número de contenedores.

Si este número es menor que el número mínimo de contenedores especificados por la directiva instalada, se produce un error en la llamada a ERROR_COULD_NOT_RESIZE_LOG.

Si este número es mayor que el número máximo de contenedores especificados por la directiva instalada, el registro solo se expande hasta el número máximo de contenedores especificado por la directiva y la llamada se realiza correctamente sin errores.

1024 a MAXULONGLONG Si no se instala ninguna directiva de tamaño máximo, se produce un error en la llamada y devuelve ERROR_LOG_POLICY_CONFLICT.

Si se instala una directiva de tamaño máximo, el registro se expande al número máximo de contenedores especificado por la directiva de tamaño máximo y la llamada se realiza correctamente sin errores.

 

Para determinar el tamaño real del registro, que podría ser diferente del tamaño solicitado, use el parámetro ResultingSizeInContainers .

[out] ResultingSizeInContainers

Puntero al tamaño del registro resultante. Si se ejecuta correctamente, la rutina escribe el tamaño real del registro, expresado como el número de contenedores del registro, en la ubicación a la que apunta este parámetro.

[in, optional] CompletionRoutine

No se usa. Definición en NULL

[in, optional] CompletionRoutineData

No se usa. Definición en NULL

Valor devuelto

La rutina ClfsMgmtSetLogFileSize devuelve uno de los siguientes valores NTSTATUS:

Código devuelto Descripción
STATUS_SUCCESS
Se ha establecido el tamaño del archivo de registro. El parámetro ResultingSizeInContainers contiene el tamaño actual del registro.
STATUS_UNSUCCESSFUL
La administración de CLFS no pudo establecer el tamaño del archivo de registro.
STATUS_INVALID_PARAMETER_1
El valor del parámetro LogFile es NULL o el contenido del parámetro NewSizeInContainers es 1.
STATUS_INVALID_PARAMETER_2
El valor del parámetro NewSizeInContainers es NULL.
STATUS_LOG_POLICY_INVALID
Hay un conflicto entre el tamaño máximo y las directivas de tamaño mínimo para el registro.
STATUS_COULD_NOT_RESIZE_LOG
La administración de CLFS no pudo eliminar suficientes contenedores para llegar a NewSizeInContainers.
STATUS_LOG_POLICY_CONFLICT
La administración de CLFS no pudo agregar suficientes contenedores al registro para llegar a NewSizeInContainers. Esto puede deberse a un conflicto con una directiva establecida por el cliente.
 

Esta rutina también podría devolver otros valores NTSTATUS.

Comentarios

La rutina ClfsMgmtSetLogFileSize se usa normalmente solo cuando un cliente se inicia o detiene. No llame a la rutina ClfsMgmtSetLogFileSize desde la función ClfsAdvanceTailCallback .

Requisitos

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

Consulte también

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy