FLT_FILE_NAME_OPTIONS

Der FLT_FILE_NAME_OPTIONS Typs ist ein ULONG-Wert, der das Namensformat, die Abfragemethode und die Flags für eine Dateinameninformationsabfrage angibt.

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

Die Bits 0 bis 7 geben das Dateiformat an, das mithilfe des FltGetFileNameFormat-Makros abgefragt werden kann. Eine Erläuterung dieser Formate finden Sie unter FLT_FILE_NAME_INFORMATION. Die folgenden Werte sind derzeit definiert.

Wert Bedeutung
FLT_FILE_NAME_NORMALIZED Der normalisierte Name für die Datei.
FLT_FILE_NAME_OPENED Der Name, der verwendet wurde, als das Handle für diese Datei geöffnet wurde. Dieser Name ist nicht normalisiert.
FLT_FILE_NAME_SHORT Der kurze Name (8.3) für die Datei. Der Kurzname für eine Datei enthält weder den Volumenamen noch den Verzeichnispfad oder den Streamnamen. Dieser Name ist nicht normalisiert.

Die Bits 8 bis 15 geben die Dateinameabfragemethode an, die vom Filter-Manager verwendet werden soll, die mithilfe des FltGetFileNameQueryMethod-Makros abgefragt werden kann. Eine Erläuterung dieser Werte finden Sie unter FltGetFileNameInformation. Die folgenden Werte sind derzeit definiert.

Wert Bedeutung
FLT_FILE_NAME_QUERY_DEFAULT Wenn es derzeit nicht sicher ist, das Dateisystem nach dem Dateinamen abzufragen, tun Sie nichts. Fragen Sie andernfalls den Namenscache des Filter-Managers nach den Dateinameninformationen ab. Wenn der Name nicht im Cache gefunden wird, fragen Sie das Dateisystem ab, und speichern Sie das Ergebnis zwischen.
FLT_FILE_NAME_QUERY_CACHE_ONLY Fragen Sie den Namenscache des Filter-Managers nach den Dateinameninformationen ab. Fragen Sie nicht das Dateisystem ab.
FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY Fragen Sie das Dateisystem nach den Dateinameninformationen ab. Fragen Sie nicht den Namenscache des Filter-Managers ab, und speichern Sie nicht das Ergebnis der Dateisystemabfrage zwischen.
FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP Fragen Sie den Namenscache des Filter-Managers nach den Dateinameninformationen ab. Wenn der Name nicht im Cache gefunden wird und dies derzeit sicher ist, fragen Sie das Dateisystem nach den Dateinameninformationen ab, und speichern Sie das Ergebnis zwischen.

Die Bits 16 bis 23 werden derzeit nicht verwendet.

Die Bits 24 bis 31 werden von Minifiltern des Namensanbieters verwendet, um die Dateinamenflags anzugeben. Die folgenden Werte sind derzeit definiert.

Wert Bedeutung
FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER Ein Namensanbieter-Minifilter kann dieses Flag verwenden, um anzugeben, dass eine Namensabfrageanforderung an sich selbst umgeleitet werden soll, anstatt von den Namensanbieterfiltern unten im Stapel erfüllt zu werden.
FLT_FILE_NAME_DO_NOT_CACHE Dieses Flag gibt an, dass der aus dieser Abfrage abgerufene Name nicht zwischengespeichert werden soll. Namensanbieter-Minifilter verwenden dieses Flag, wenn sie Zwischenabfragen ausführen, um einen Namen zu generieren.
FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE Ein Namensanbieter-Minifilter kann dieses Flag verwenden, um anzugeben, dass es sicher ist, den Namen im Pfad nach der Erstellung abzufragen, auch wenn STATUS_REPARSE zurückgegeben wurde. Es liegt in der Verantwortung des Aufrufers sicherzustellen, dass das Feld FileObject-FileName> nicht geändert wurde. Verwenden Sie dieses Flag nicht mit Bereitstellungspunkten oder symbolischen Verbindungsanalysepunkten.

Anforderungen

Anforderungstyp Anforderung
Header Fltkernel.h ( fltkernel.h einschließen)

FLT_FILE_NAME_INFORMATION

FltGetDestinationFileNameInformation

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod