Compartilhar via


FLT_FILE_NAME_OPTIONS

O tipo FLT_FILE_NAME_OPTIONS é um valor ULONG que especifica o formato de nome, o método de consulta e os sinalizadores para uma consulta de informações de nome de arquivo.

typedef ULONG FLT_FILE_NAME_OPTIONS;
#define FLT_VALID_FILE_NAME_FORMATS                       0x000000ff
    #define FLT_FILE_NAME_NORMALIZED                      0x00000001
    #define FLT_FILE_NAME_OPENED                          0x00000002
    #define FLT_FILE_NAME_SHORT                           0x00000003
#define FLT_VALID_FILE_NAME_QUERY_METHODS                 0x0000ff00
    #define FLT_FILE_NAME_QUERY_DEFAULT                   0x00000100
    #define FLT_FILE_NAME_QUERY_CACHE_ONLY                0x00000200
    #define FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY           0x00000300
    #define FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP 0x00000400
#define FLT_VALID_FILE_NAME_FLAGS                         0xff000000
    #define FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER   0x01000000
    #define FLT_FILE_NAME_DO_NOT_CACHE                    0x02000000
    #define FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE          0x04000000

Os bits 0 a 7 indicam o formato do arquivo, que pode ser consultado usando a macro FltGetFileNameFormat . Para obter uma explicação desses formatos, consulte FLT_FILE_NAME_INFORMATION. Os valores a seguir estão definidos no momento.

Valor Significado
FLT_FILE_NAME_NORMALIZED O nome normalizado para o arquivo.
FLT_FILE_NAME_OPENED O nome que foi usado quando o identificador foi aberto para esse arquivo. Esse nome não está normalizado.
FLT_FILE_NAME_SHORT O nome curto (8.3) do arquivo. O nome curto de um arquivo não inclui o nome do volume, o caminho do diretório ou o nome do fluxo. Esse nome não está normalizado.

Os bits 8 a 15 especificam o método de consulta de nome de arquivo a ser usado pelo Gerenciador de Filtros, que pode ser consultado usando a macro FltGetFileNameQueryMethod . Para obter uma explicação desses valores, consulte FltGetFileNameInformation. Os valores a seguir estão definidos no momento.

Valor Significado
FLT_FILE_NAME_QUERY_DEFAULT Se atualmente não for seguro consultar o nome do arquivo no sistema de arquivos, não faça nada. Caso contrário, consulte o cache de nomes do Gerenciador de Filtros para obter as informações de nome de arquivo. Se o nome não for encontrado no cache, consulte o sistema de arquivos e armazene o resultado em cache.
FLT_FILE_NAME_QUERY_CACHE_ONLY Consulte o cache de nomes do Gerenciador de Filtros para obter as informações de nome de arquivo. Não consulte o sistema de arquivos.
FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY Consulte o sistema de arquivos para obter as informações de nome de arquivo. Não consulte o cache de nomes do Gerenciador de Filtros e não armazene em cache o resultado da consulta do sistema de arquivos.
FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP Consulte o cache de nomes do Gerenciador de Filtros para obter as informações de nome de arquivo. Se o nome não for encontrado no cache e for seguro fazer isso no momento, consulte o sistema de arquivos para obter as informações de nome de arquivo e armazene o resultado em cache.

Os bits 16 a 23 não são usados no momento.

Os bits 24 a 31 são usados por minifiltros do provedor de nomes para especificar os sinalizadores de nome de arquivo. Os valores a seguir estão definidos no momento.

Valor Significado
FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER Um minifiltro do provedor de nomes pode usar esse sinalizador para Indicar que uma solicitação de consulta de nome deve ser redirecionada para si mesma em vez de ser atendida pelos filtros de provedor de nomes inferiores na pilha.
FLT_FILE_NAME_DO_NOT_CACHE Esse sinalizador indica que o nome recuperado dessa consulta não deve ser armazenado em cache. Os minifiltros do provedor de nomes usam esse sinalizador enquanto executam consultas intermediárias para gerar um nome.
FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE Um minifiltro do provedor de nomes pode usar esse sinalizador para especificar que é seguro consultar o nome no caminho pós-criação, mesmo que STATUS_REPARSE tenha sido retornado. É responsabilidade do chamador garantir que o campo FileObject-FileName> não tenha sido alterado. Não use esse sinalizador com pontos de montagem ou pontos de nova análise de link simbólico.

Requisitos

Tipo de Requisito Requisito
Cabeçalho Fltkernel.h (inclua Fltkernel.h)

FLT_FILE_NAME_INFORMATION

FltGetDestinationFileNameInformation

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod