FLT_PARAMETERS para IRP_MJ_SET_INFORMATION união
O componente Union usado quando o campo MajorFunction da estrutura FLT_IO_PARAMETER_BLOCK para a operação é IRP_MJ_SET_INFORMATION.
Sintaxe
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;
Membros
SetFileInformation: estrutura que contém os membros a seguir.
Comprimento: comprimento, em bytes, do buffer no InfoBuffer.
FileInformationClass: tipo de informação a ser definido para o arquivo. Um dos seguintes:
Valor Significado FileAllocationInformation Defina FILE_ALLOCATION_INFORMATION para o arquivo. FileBasicInformation Defina FILE_BASIC_INFORMATION para o arquivo. FileDispositionInformation Defina FILE_DISPOSITION_INFORMATION para o arquivo. FileEndOfFileInformation Defina FILE_END_OF_FILE_INFORMATION para o arquivo. FileLinkInformation Defina FILE_LINK_INFORMATION para o arquivo. FilePositionInformation Defina FILE_POSITION_INFORMATION para o arquivo. FileRenameInformation Defina FILE_RENAME_INFORMATION para o arquivo. FileValidDataLengthInformation Defina FILE_VALID_DATA_LENGTH_INFORMATION para o arquivo. ParentOfTarget: para operações de renomeação ou link. Se InfoBuffer-FileName> contiver um nome de arquivo totalmente qualificado ou se InfoBuffer-RootDirectory> não for NULL, esse membro será um ponteiro de objeto de arquivo para o diretório pai do arquivo que é o destino da operação. Caso contrário, será NULL.
( struct sem nome )
Estrutura que contém os membros a seguir.ReplaceIfExists: para operações de renomeação ou link. Defina como TRUE para especificar que um arquivo que já existe com o mesmo nome deve ser substituído pelo arquivo fornecido. Defina como FALSE se a operação renomear ou vincular falhar se já existir um arquivo com o nome fornecido.
AdvanceOnly: um sinalizador para operações de fim de arquivo. Isso determina o uso do membro EndOfFileFILE_END_OF_FILE_INFORMATION estrutura quando FileInformationClass == FileEndOfFileInformation. Se TRUE, um novo comprimento de dados válido para o arquivo será definido a partir de EndOfFile somente se ele aumentar o comprimento de dados válido atual. Se FALSE, um novo tamanho de arquivo será definido de EndOfFile.
ClusterCount: reservado para uso do sistema. Não use.
DeleteHandle: reservado para uso do sistema. Não use.
InfoBuffer: ponteiro para um buffer de entrada que contém as informações do arquivo a serem definidas.
Comentários
A estrutura FLT_PARAMETERS para operações de IRP_MJ_SET_INFORMATION contém os parâmetros de uma operação set-information representada por uma estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA). Ele está contido em uma estrutura FLT_IO_PARAMETER_BLOCK.
IRP_MJ_SET_INFORMATION é uma operação baseada em IRP.
O membro AdvanceOnly é definido como TRUE pelo gerenciador de cache para notificar o sistema de arquivos para avançar o comprimento de dados válido atual no disco para o novo comprimento de dados válido em EndOfFile. Se AdvanceOnly for FALSE, um novo tamanho de arquivo, no membro EndOfFile , está sendo definido, que pode ser maior ou menor que o tamanho do arquivo atual.
Requisitos
Tipo de Requisito | Requisito |
---|---|
parâmetro | Fltkernel.h (inclua Fltkernel.h) |