Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Компонент объединения используется, когда поле MajorFunction структуры FLT_IO_PARAMETER_BLOCK для операции IRP_MJ_SET_INFORMATION.
Синтаксис
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
PFILE_OBJECT ParentOfTarget;
union {
struct {
BOOLEAN ReplaceIfExists;
BOOLEAN AdvanceOnly;
};
ULONG ClusterCount;
HANDLE DeleteHandle;
};
PVOID InfoBuffer;
} SetFileInformation;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Члены
SetFileInformation: структура, содержащая следующие элементы.
Длина: длина буфера в байтах в InfoBuffer.
FileInformationClass: тип сведений для файла. Один из следующих:
Ценность Значение ИнформацияОВыделенииФайлов Задайте FILE_ALLOCATION_INFORMATION для файла. FileBasicInformation Задайте FILE_BASIC_INFORMATION для файла. Информация о расположении файлов Задайте FILE_DISPOSITION_INFORMATION для файла. FileEndOfFileInformation Задайте FILE_END_OF_FILE_INFORMATION для файла. FileLinkInformation Задайте FILE_LINK_INFORMATION для файла. FilePositionInformation Задайте FILE_POSITION_INFORMATION для файла. Информация о переименовании файла Задайте FILE_RENAME_INFORMATION для файла. ИнформацияОДлинеДействительныхДанныхФайла Задайте FILE_VALID_DATA_LENGTH_INFORMATION для файла. ParentOfTarget: для операций переименования или связывания. Если InfoBuffer-FileName> содержит полное имя файла или если InfoBuffer-RootDirectory> не имеет значения NULL, этот элемент является указателем объекта файла для родительского каталога файла, который является целью операции. В противном случае значение NULL.
( неименованная структура )
Структура, содержащая следующие элементы.ReplaceIfExists: для операций переименования или связывания. Задайте значение TRUE , чтобы указать, что файл, уже существующий с тем же именем, должен быть заменен заданным файлом. Установите значение FALSE , если операция переименования или ссылки должна завершиться ошибкой, если файл с заданным именем уже существует.
AdvanceOnly: флаг для завершения операций с файлами. Это определяет использование элемента EndOfFileFILE_END_OF_FILE_INFORMATION структуры при использовании FileInformationClass == FileEndOfFileInformation. Если значение TRUE, новая допустимая длина данных для файла будет задана из EndOfFile , только если она увеличивает текущую допустимую длину данных. Если значение FALSE, новый размер файла задается из EndOfFile.
ClusterCount: зарезервировано для использования системы. Не используйте.
DeleteHandle: зарезервировано для использования системы. Не используйте.
InfoBuffer: указатель на входной буфер, содержащий заданные сведения о файле.
Замечания
Структура FLT_PARAMETERS для операций IRP_MJ_SET_INFORMATION содержит параметры для операции набора информации, представленной структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в FLT_IO_PARAMETER_BLOCK структуре.
IRP_MJ_SET_INFORMATION — это операция на основе IRP.
Для элемента AdvanceOnly задано значение TRUE диспетчером кэша, чтобы уведомить файловую систему о переходе текущей допустимой длины данных на диске к новой допустимой длине данных в EndOfFile. Если AdvanceOnly имеет значение FALSE, новый размер файла в члене EndOfFile устанавливается, который может быть больше или меньше текущего размера файла.
Требования
Тип требования | Требование |
---|---|
Заголовок | Fltkernel.h (include Fltkernel.h) |