FLT_FILE_NAME_OPTIONS
Тип FLT_FILE_NAME_OPTIONS — это значение ULONG, указывающее формат имени, метод запроса и флаги для запроса сведений об имени файла.
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
Биты от 0 до 7 указывают формат файла, который можно запрашивать с помощью макроса FltGetFileNameFormat . Описание этих форматов см. в разделе FLT_FILE_NAME_INFORMATION. В настоящее время определены следующие значения.
Значение | Значение |
---|---|
FLT_FILE_NAME_NORMALIZED | Нормализованное имя файла. |
FLT_FILE_NAME_OPENED | Имя, которое использовалось при открытии дескриптора для этого файла. Это имя не нормализовано. |
FLT_FILE_NAME_SHORT | Короткое (8.3) имя файла. Короткое имя файла не включает имя тома, путь к каталогу или имя потока. Это имя не нормализовано. |
Биты 8–15 указывают метод запроса имени файла, используемый диспетчером фильтров, который можно запрашивать с помощью макроса FltGetFileNameQueryMethod . Описание этих значений см. в разделе FltGetFileNameInformation. В настоящее время определены следующие значения.
Значение | Значение |
---|---|
FLT_FILE_NAME_QUERY_DEFAULT | Если в настоящее время небезопасно запрашивать имя файла в файловой системе, ничего не делать. В противном случае запросите сведения об имени файла в кэше имен диспетчера фильтров. Если имя не найдено в кэше, запросите файловую систему и кэшируйте результат. |
FLT_FILE_NAME_QUERY_CACHE_ONLY | Запросите сведения об имени файла в кэше имен диспетчера фильтров. Не запрашивайте файловую систему. |
FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY | Запросите в файловой системе сведения об имени файла. Не запрашивайте кэш имен диспетчера фильтров и не кэшируйте результат запроса файловой системы. |
FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP | Запросите сведения об имени файла в кэше имен диспетчера фильтров. Если имя не найдено в кэше и в настоящее время это безопасно, запросите в файловой системе сведения об имени файла и кэшируйте результат. |
Биты от 16 до 23 в настоящее время не используются.
Биты 24–31 используются минифильтрами поставщика имен для указания флагов имени файла. В настоящее время определены следующие значения.
Значение | Значение |
---|---|
FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER | Минифильтр поставщика имен может использовать этот флаг, чтобы указать, что запрос на запрос имени должен быть перенаправляться самому себе, а не удовлетворяться фильтрами поставщика имен ниже в стеке. |
FLT_FILE_NAME_DO_NOT_CACHE | Этот флаг указывает, что имя, полученное из этого запроса, не должно кэшироваться. Минифильтры поставщика имен используют этот флаг при выполнении промежуточных запросов для создания имени. |
FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE | Минифильтр поставщика имен может использовать этот флаг, чтобы указать, что можно безопасно запрашивать имя в пути после создания, даже если был возвращен STATUS_REPARSE. Вызывающий объект отвечает за то, чтобы убедиться, что поле FileObject-FileName> не было изменено. Не используйте этот флаг с точками подключения или точками повторного анализа символических ссылок. |
Требования
Тип требования | Требование |
---|---|
Заголовок | Fltkernel.h (включая Fltkernel.h) |
Похожие статьи
FltGetDestinationFileNameInformation