Share via


FLT_FILE_NAME_OPTIONS

Il tipo FLT_FILE_NAME_OPTIONS è un valore ULONG che specifica il formato del nome, il metodo di query e i flag per una query di informazioni sul nome file.

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

I bit da 0 a 7 indicano il formato di file, che può essere eseguito tramite la macro FltGetFileNameFormat . Per una spiegazione di questi formati, vedere FLT_FILE_NAME_INFORMATION. I valori seguenti sono attualmente definiti.

Valore Significato
FLT_FILE_NAME_NORMALIZED Nome normalizzato per il file.
FLT_FILE_NAME_OPENED Nome usato quando l'handle è stato aperto a questo file. Questo nome non è normalizzato.
FLT_FILE_NAME_SHORT Nome breve (8.3) per il file. Il nome breve per un file non include il nome del volume, il percorso della directory o il nome del flusso. Questo nome non è normalizzato.

I bit da 8 a 15 specificano il metodo di query nome file da usare da Filter Manager, che può essere eseguito tramite la macro FltGetFileNameQueryMethod . Per una spiegazione di questi valori, vedere FltGetFileNameInformation. I valori seguenti sono attualmente definiti.

Valore Significato
FLT_FILE_NAME_QUERY_DEFAULT Se non è attualmente sicuro eseguire query sul file system per il nome del file, non eseguire alcuna operazione. In caso contrario, eseguire una query sulla cache dei nomi di Filter Manager per le informazioni sul nome del file. Se il nome non viene trovato nella cache, eseguire una query sul file system e memorizzare nella cache il risultato.
FLT_FILE_NAME_QUERY_CACHE_ONLY Eseguire una query sulla cache dei nomi di Filter Manager per le informazioni sul nome del file. Non eseguire query sul file system.
FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY Eseguire una query sul file system per le informazioni sul nome file. Non eseguire query sulla cache dei nomi di Filter Manager e non memorizzare nella cache il risultato della query del file system.
FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP Eseguire una query sulla cache dei nomi di Filter Manager per le informazioni sul nome del file. Se il nome non viene trovato nella cache ed è attualmente sicuro, eseguire una query sul file system per le informazioni sul nome file e memorizzare nella cache il risultato.

I bit da 16 a 23 sono attualmente inutilizzati.

I bit da 24 a 31 vengono usati dai minifiltri del provider di nomi per specificare i flag di nome file. I valori seguenti sono attualmente definiti.

Valore Significato
FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER Un minifilter del provider di nomi può usare questo flag per Indicare che una richiesta di query del nome deve essere reindirizzata a se stessa anziché essere soddisfatta dai filtri del provider di nomi inferiore nello stack.
FLT_FILE_NAME_DO_NOT_CACHE Questo flag indica che il nome recuperato da questa query non deve essere memorizzato nella cache. I minifiltri del provider di nomi usano questo flag perché eseguono query intermedie per generare un nome.
FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE Un minifilter del provider di nomi può usare questo flag per specificare che è sicuro eseguire query sul nome nel percorso post-create anche se STATUS_REPARSE è stato restituito. È responsabilità del chiamante assicurarsi che il campo FileObject-FileName> non sia stato modificato. Non usare questo flag con punti di montaggio o punti di collegamento simbolici reparse.

Requisiti

Tipo di requisito Requisito
Intestazione Fltkernel.h (include Fltkernel.h)

FLT_FILE_NAME_INFORMATION

FltGetDestinationFileNameInformation

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod