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


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. Если параметр Transaction имеет значение 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 операции, диспетчер фильтров изменяет значение соответствующего элемента Instance или 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 (включая 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