Função FltQueryInformationFile (fltkernel.h)
FltQueryInformationFile recupera informações de 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 do objeto de arquivo para o arquivo. Esse parâmetro é necessário e não pode ser NULL.
[out] FileInformation
Ponteiro para um buffer alocado por 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 por chamador que recebe o tamanho, em bytes, das informações retornadas no buffer FileInformation. Esse parâmetro é opcional e pode ser NULL.
Valor de retorno
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. |
Observações
Um driver de minifiltro chama FltQueryInformationFile para recuperar informações do arquivo identificado por FileObject. No momento, o arquivo deve estar aberto.
FltQueryInformationFile retorna zero em qualquer membro de uma estrutura de_INFORMATION XXX FILE_que não tem suporte de um sistema de arquivos específico.
Os chamadores de FltQueryInformationFile devem estar em execução no IRQL = PASSIVE_LEVEL e com APCs habilitadas.
OBSERVAÇÃO: 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 |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | fltkernel.h (inclua Fltkernel.h) |
biblioteca | FltMgr.lib |
de DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |