Функция FltRequestFileInfoOnCreateCompletion (fltkernel.h)
Минифильтр вызывает FltRequestFileInfoOnCreateCompletion во время предварительного создания файла, чтобы запросить, чтобы файловая система сохраняла сведения о файле для извлечения во время после создания.
Синтаксис
NTSTATUS FLTAPI FltRequestFileInfoOnCreateCompletion(
PFLT_FILTER Filter,
PFLT_CALLBACK_DATA Data,
ULONG InfoClassFlags
);
Параметры
Filter
Указатель непрозрачного фильтра, который однозначно идентифицирует драйвер минифильтра.
Data
Указатель на данные обратного вызова FLT_CALLBACK_DATA , представляющие операцию создания ввода-вывода.
InfoClassFlags
Битовая маска флага, указывающая тип сведений о файлах, которые файловая система должна хранить для извлечения во время после создания. Может быть любым сочетанием следующих флагов:
Flag | Значение |
---|---|
QoCFileStatInformation (0x00000001) | Если этот параметр задан, файловая система будет хранить сведения о статистике файла в QUERY_ON_CREATE_FILE_STAT_INFORMATION структуре для получения. |
QoCFileLxInformation (0x00000002) | Если этот параметр задан, файловая система будет хранить расширенные сведения, подобные Linux, в QUERY_ON_CREATE_FILE_LX_INFORMATION структуре для получения. |
QoCFileEaInformation (0x00000004) | Если этот параметр задан, файловая система будет хранить расширенные атрибуты (EA) в QUERY_ON_CREATE_EA_INFORMATION структуре для получения. |
QoCFileUsnInformation (0x00000008) | Если этот параметр задан, файловая система будет хранить сведения о имени пользователя в QUERY_ON_CREATE_USN_INFORMATION структуре для получения. |
Возвращаемое значение
FltRequestFileInfoOnCreateCompletion может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
STATUS_SUCCESS | В файловой системе успешно сохранены сведения о запрошенных файлах. |
STATUS_INSUFFICIENT_RESOURCES | FltRequestFileInfoOnCreateCompletion не удалось выделить достаточный объем памяти для хранения запрошенных сведений о файле. |
STATUS_INVALID_PARAMETER_2 | Предоставленный объект данных обратного вызова не был операцией создания на основе IRP. |
Комментарии
Минифильтр может получить сведения о файле, вызвав FltRetrieveFileInfoOnCreateCompletionEx или FltRetrieveFileInfoOnCreateCompletion во время после создания. Производительность минифильтра обычно выше, когда он запрашивает и извлекает сведения о файлах таким образом, а не запрашивает сведения о файлах позже.
Требования
Требование | Значение |
---|---|
Заголовок | fltkernel.h (включая Fltkernel.h) |