Поделиться через


структура 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_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

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)

См. также

FLT_IO_PARAMETER_BLOCK

FLT_RELATED_CONTEXTS

FltDoCompletionProcessingWhenSafe

FltGetContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK