FLT_PARAMETERS para IRP_MJ_SET_INFORMATION unión
Componente de unión usado cuando se IRP_MJ_SET_INFORMATION el campo MajorFunction de la estructura de FLT_IO_PARAMETER_BLOCK para la operación.
Sintaxis
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
PFILE_OBJECT ParentOfTarget;
union {
struct {
BOOLEAN ReplaceIfExists;
BOOLEAN AdvanceOnly;
};
ULONG ClusterCount;
HANDLE DeleteHandle;
};
PVOID InfoBuffer;
} SetFileInformation;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Miembros
SetFileInformation: estructura que contiene los siguientes miembros.
Longitud: longitud, en bytes, del búfer en InfoBuffer.
FileInformationClass: tipo de información que se va a establecer para el archivo. Uno de los siguientes:
Valor Significado FileAllocationInformation Establezca FILE_ALLOCATION_INFORMATION para el archivo. FileBasicInformation Establezca FILE_BASIC_INFORMATION para el archivo. FileDispositionInformation Establezca FILE_DISPOSITION_INFORMATION para el archivo. FileEndOfFileInformation Establezca FILE_END_OF_FILE_INFORMATION para el archivo. FileLinkInformation Establezca FILE_LINK_INFORMATION para el archivo. FilePositionInformation Establezca FILE_POSITION_INFORMATION para el archivo. FileRenameInformation Establezca FILE_RENAME_INFORMATION para el archivo. FileValidDataLengthInformation Establezca FILE_VALID_DATA_LENGTH_INFORMATION para el archivo. ParentOfTarget: para las operaciones de cambio de nombre o vínculo. Si InfoBuffer-FileName> contiene un nombre de archivo completo, o si InfoBuffer-RootDirectory> no es NULL, este miembro es un puntero de objeto de archivo para el directorio primario del archivo que es el destino de la operación. De lo contrario, es NULL.
( struct sin nombre )
Estructura que contiene los miembros siguientes.ReplaceIfExists: para las operaciones de cambio de nombre o vínculo. Establézcalo en TRUE para especificar que un archivo que ya existe con el mismo nombre se va a reemplazar por el archivo especificado. Establezca en FALSE si la operación de cambio de nombre o vínculo debe producir un error si ya existe un archivo con el nombre especificado.
AdvanceOnly: una marca para las operaciones de fin de archivo. Esto determina el uso del miembro EndOfFileFILE_END_OF_FILE_INFORMATION estructura cuando FileInformationClass == FileEndOfFileInformation. Si es TRUE, solo se establecerá una nueva longitud de datos válida para el archivo desde EndOfFile si aumenta la longitud de datos válida actual. Si es FALSE, se establece un nuevo tamaño de archivo desde EndOfFile.
ClusterCount: reservado para uso del sistema. No debe usarse.
DeleteHandle: reservado para uso del sistema. No debe usarse.
InfoBuffer: puntero a un búfer de entrada que contiene la información del archivo que se va a establecer.
Comentarios
La estructura FLT_PARAMETERS para las operaciones de IRP_MJ_SET_INFORMATION contiene los parámetros de una operación set-information representada por una estructura de datos de devolución de llamada (FLT_CALLBACK_DATA). Se encuentra en una estructura FLT_IO_PARAMETER_BLOCK.
IRP_MJ_SET_INFORMATION es una operación basada en IRP.
El administrador de caché establece el miembro AdvanceOnly en TRUE para notificar al sistema de archivos que avance la longitud de datos válida actual en el disco a la nueva longitud de datos válida en EndOfFile. Si AdvanceOnly es FALSE, se establece un nuevo tamaño de archivo, en el miembro EndOfFile , que puede ser mayor o menor que el tamaño de archivo actual.
Requisitos
Tipo de requisito | Requisito |
---|---|
Encabezado | Fltkernel.h (incluya Fltkernel.h) |