Expand Minimize

FLT_RELATED_OBJECTS structure

The FLT_RELATED_OBJECTS structure contains opaque pointers for the objects associated with an operation.

Syntax


typedef struct _FLT_RELATED_OBJECTS {
  const USHORT        Size;
  const USHORT        TransactionContext;
  const PFLT_FILTER   Filter;
  const PFLT_VOLUME   Volume;
  const PFLT_INSTANCE Instance;
  const PFILE_OBJECT  FileObject;
  const PKTRANSACTION Transaction;
} FLT_RELATED_OBJECTS, *PFLT_RELATED_OBJECTS;

Members

Size

Size, in bytes, of the FLT_RELATED_OBJECTS structure.

TransactionContext

Opaque member that contains the transaction miniversion ID value if the Transaction member is not NULL. If Transaction is NULL, the value of TransactionContext is undefined.

Filter

Opaque filter pointer for the minifilter driver whose callback routine is being called for the operation. This pointer uniquely identifies the minifilter driver and remains constant as long as the minifilter driver is loaded.

Volume

Opaque volume pointer for the volume that is associated with the operation. This pointer uniquely identifies the volume and remains constant over the lifetime of the volume device stack.

Instance

Opaque instance pointer for the minifilter driver instance that is associated with the operation. This pointer uniquely identifies the instance and remains constant as long as the instance is attached to a volume.

FileObject

Pointer to the file object, if any, for the operation.

Transaction

On Windows Vista and later, this member is an opaque transaction pointer to the transaction that is associated with the operation. The operation will be part of a transaction if the value of this member is not NULL. If the value of this member is NULL, the operation will not be part of a transaction. On Windows operating systems before Windows Vista, the value of this member will always be NULL.

Remarks

The FLT_RELATED_OBJECTS structure is allocated by the filter manager and contains opaque pointers for the objects associated with an I/O operation or an instance setup or teardown operation.

The contents of the FLT_RELATED_OBJECTS structure are set by the filter manager. Minifilter drivers cannot directly modify the contents of this structure. However, if a minifilter driver modifies the target instance or target file object for an I/O operation in the FLT_IO_PARAMETER_BLOCK structure for the operation, the filter manager modifies the value of the corresponding Instance or FileObject member of the FLT_RELATED_OBJECTS structure that is passed to lower minifilter drivers. For more information, see Modifying the Parameters for an I/O Operation.

A minifilter driver receives a pointer to an FLT_RELATED_OBJECTS structure as the FltObjects input parameter to the following callback routine types:

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

To retrieve pointers to a minifilter driver's contexts for the objects in an FLT_RELATED_OBJECTS structure, call FltGetContexts.

Note  typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;

Requirements

Header

Fltkernel.h (include Fltkernel.h)

See also

FLT_IO_PARAMETER_BLOCK
FLT_RELATED_CONTEXTS
FltGetContexts
FltDoCompletionProcessingWhenSafe
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
PFLT_INSTANCE_SETUP_CALLBACK
PFLT_INSTANCE_TEARDOWN_CALLBACK
PFLT_POST_OPERATION_CALLBACK
PFLT_PRE_OPERATION_CALLBACK

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft