FSCTL_SET_ZERO_DATA código de control
El código de control FSCTL_SET_ZERO_DATA rellena un intervalo especificado de un archivo con ceros (0). Si el archivo está disperso o comprimido, el sistema de archivos NTFS puede desasignar espacio en disco en el archivo. Esto establece el intervalo de bytes en ceros (0) sin extender el tamaño del archivo.
Para realizar esta operación desde un controlador, llame a FltFsControlFile con los parámetros siguientes.
Parámetros
Instancia: puntero de instancia opaca para el autor de la llamada. Este parámetro es obligatorio y no puede ser NULL.
FileObject [in]: puntero de objeto de archivo al archivo en el que se van a escribir ceros. Este parámetro es obligatorio y no puede ser NULL.
FsControlCode [in]: el código de control de la operación.
Use FSCTL_SET_ZERO_DATA para esta operación.
- InputBuffer [in]: puntero a una estructura FILE_ZERO_DATA_INFORMATION o FILE_ZERO_DATA_INFORMATION_EX que especifica el intervalo del archivo que se va a establecer en ceros.
El miembro FileOffset es el desplazamiento de bytes del primer byte que se establece en ceros (0) y el miembro BeyondFinalZero es el desplazamiento de bytes del primer byte más allá del último byte (0).
El miembro Flags de FILE_ZERO_DATA_INFORMATION_EX especifica modificadores para la operación. Por ejemplo, cuando Flags se establece en FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA, el contenido de la memoria caché correspondiente a este intervalo del archivo no se purga.
InputBufferLength [in]: tamaño del búfer de entrada, en bytes.
OutputBuffer [out]: no se usa con esta operación; se establece en NULL.
OutputBufferLength [out]: No se usa con esta operación; se establece en cero.
Bloque de estado
FltFsControlFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado.
Código de retorno | Significado |
---|---|
ESTADO _INSUFFICIENT_RESOURCES | no hay suficiente memoria para completar la operación. |
STATUS_INVALID_PARAMETER | InputBufferLength es menor que el tamaño de las estructuras de FILE_ZERO_DATA_INFORMATION o el archivo especificado es un archivo de metadatos del sistema o un directorio. |
STATUS_ACCESS_DENIED | El FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA se establece desde el modo de usuario. |
STATUS_MEDIA_WRITE_PROTECTED | El volumen está protegido actualmente por escritura. |
Requisitos
Tipo de requisito | Requisito |
---|---|
Encabezado | Ntifs.h (incluya Ntifs.h) |