Função FltQueryInformationFile (fltkernel.h)
FltQueryInformationFile recupera informações para um determinado arquivo.
Sintaxe
NTSTATUS FLTAPI FltQueryInformationFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass,
[out, optional] PULONG LengthReturned
);
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.
[out] FileInformation
Ponteiro para um buffer alocado pelo chamador que recebe informações sobre 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
Um valor FILE_INFORMATION_CLASS que especifica o tipo de informações de arquivo a serem retornadas no buffer FileInformation .
[out, optional] LengthReturned
Ponteiro para uma variável alocada pelo chamador que recebe o tamanho, em bytes, das informações retornadas no buffer FileInformation . Esse parâmetro é opcional e pode ser NULL.
Retornar valor
FltQueryInformationFile retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como o seguinte:
Código de retorno | Descrição |
---|---|
|
O arquivo reside em um volume que não está montado no momento. Este é um código de erro. |
Comentários
Um driver de minifiltro chama FltQueryInformationFile para recuperar informações para o arquivo identificado por FileObject. No momento, o arquivo deve estar aberto.
FltQueryInformationFile retorna zero em qualquer membro de uma estrutura FILE_XXX_INFORMATION que não é compatível com um sistema de arquivos específico.
Os chamadores de FltQueryInformationFile devem estar em execução em IRQL = PASSIVE_LEVEL e com APCs habilitadas.
NOTA: Não chame essa rotina com um valor IRP de nível superior não NULL, pois isso pode causar um deadlock do sistema.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |