Compartilhar via


Função FltSetInformationFile (fltkernel.h)

FltSetInformationFile define informações para um determinado arquivo.

Sintaxe

NTSTATUS FLTAPI FltSetInformationFile(
  [in] PFLT_INSTANCE          Instance,
  [in] PFILE_OBJECT           FileObject,
  [in] PVOID                  FileInformation,
  [in] ULONG                  Length,
  [in] FILE_INFORMATION_CLASS FileInformationClass
);

Parâmetros

[in] Instance

Ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.

[in] FileObject

Ponteiro de objeto de arquivo para o arquivo. Esse parâmetro é necessário e não pode ser NULL.

[in] FileInformation

Ponteiro para um buffer alocado pelo chamador que contém informações a serem definidas para o arquivo. O parâmetro FileInformationClass especifica o tipo de informação. Esse parâmetro é necessário e não pode ser NULL.

[in] Length

Tamanho, em bytes, do buffer FileInformation .

[in] FileInformationClass

Especifica o tipo de informação a ser definido para o arquivo. Os valores a seguir são definidos.

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. Para obter mais informações sobre renomeação de arquivo, consulte a seção Comentários a seguir.
FileValidDataLengthInformation Defina FILE_VALID_DATA_LENGTH_INFORMATION para o arquivo.

Retornar valor

FltSetInformationFile retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado.

Comentários

Um driver de minifiltro chama FltSetInformationFile para definir informações para um determinado arquivo. O arquivo deve estar aberto no momento.

Uma operação de renomeação de arquivo impõe a seguinte restrição aos valores de parâmetro passados para FltSetInformationFile: conforme observado na entrada de referência para FILE_RENAME_INFORMATION, um arquivo ou diretório só pode ser renomeado dentro de um volume. Em outras palavras, uma operação de renomeação não pode fazer com que um arquivo ou diretório seja movido para um volume diferente. Ao contrário de ZwSetInformationFile, FltSetInformationFile não valida o conteúdo da estrutura FILE_RENAME_INFORMATION. Portanto, o chamador de FltSetInformationFile é responsável por garantir que o novo nome para o arquivo ou diretório esteja no mesmo volume que o nome antigo.

Os drivers de minifiltro devem usar FltSetInformationFile , não ZwSetInformationFile, para renomear um arquivo.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Confira também

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FltQueryInformationFile

FltQueryVolumeInformationFile

ZwSetInformationFile