структура FLT_RELATED_OBJECTS (fltkernel.h)
Структура FLT_RELATED_OBJECTS содержит непрозрачные указатели для объектов, связанных с операцией.
Синтаксис
typedef struct _FLT_RELATED_OBJECTS {
USHORT Size;
USHORT TransactionContext;
PFLT_FILTER Filter;
PFLT_VOLUME Volume;
PFLT_INSTANCE Instance;
PFILE_OBJECT FileObject;
PKTRANSACTION Transaction;
} FLT_RELATED_OBJECTS, *PFLT_RELATED_OBJECTS;
Члены
Size
Размер в байтах структуры FLT_RELATED_OBJECTS.
TransactionContext
Непрозрачный элемент, содержащий значение идентификатора миниверсии транзакции, если элемент транзакции не NULL. Если транзакцияNULL, значение TransactionContext не определено.
Filter
Указатель непрозрачного фильтра для драйвера минифильтра, для которого вызывается подпрограмма обратного вызова для операции. Этот указатель однозначно идентифицирует драйвер минифильтра и остается константой до тех пор, пока драйвер минифильтра загружается.
Volume
Непрозрачный указатель тома для тома, связанного с операцией. Этот указатель однозначно идентифицирует том и остается постоянным в течение всего времени существования стека устройства тома.
Instance
Указатель непрозрачного экземпляра для экземпляра драйвера мини-фильтра, связанного с операцией. Этот указатель однозначно идентифицирует экземпляр и остается константой до тех пор, пока экземпляр подключен к тому.
FileObject
Указатель на объект файла, если он есть, для операции.
Transaction
В Windows Vista и более поздних версиях этот элемент является непрозрачным указателем транзакции на транзакцию, связанную с операцией. Операция будет частью транзакции, если значение этого элемента не NULL. Если значение этого элемента равно NULL, операция не будет частью транзакции. В операционных системах Windows до Windows Vista значение этого элемента всегда будет NULL.
Замечания
Структура FLT_RELATED_OBJECTS выделяется диспетчером фильтров и содержит непрозрачные указатели для объектов, связанных с операцией ввода-вывода, или операцией установки экземпляра или отключения экземпляра.
Содержимое структуры FLT_RELATED_OBJECTS задается диспетчером фильтров. Драйверы минифильтра не могут напрямую изменять содержимое этой структуры. Однако если драйвер минифильтра изменяет целевой экземпляр или целевой объект файла для операции ввода-вывода в структуре FLT_IO_PARAMETER_BLOCK для операции, диспетчер фильтров изменяет значение соответствующего экземпляра экземпляра или FileObject члена структуры FLT_RELATED_OBJECTS, передаваемой в более низкие драйверы минифильтратора. Дополнительные сведения см. в разделе Изменение параметров для операции ввода-вывода.
Драйвер минифильтра получает указатель на структуру FLT_RELATED_OBJECTS в качестве входного параметра FltObjects следующих типов подпрограмм обратного вызова:
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
PFLT_INSTANCE_TEARDOWN_CALLBACK
Чтобы получить указатели на контексты драйвера мини-фильтра для объектов в структуре FLT_RELATED_OBJECTS, вызовите FltGetContexts.
typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
заметкиТребования
Требование | Ценность |
---|---|
заголовка | fltkernel.h (include Fltkernel.h) |
См. также
FltDoCompletionProcessingWhenSafe
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK