Freigeben über


FLT_RELATED_OBJECTS Struktur (fltkernel.h)

Die FLT_RELATED_OBJECTS-Struktur enthält undurchsichtige Zeiger für die Objekte, die einem Vorgang zugeordnet sind.

Syntax

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;

Angehörige

Size

Größe der FLT_RELATED_OBJECTS Struktur in Byte.

TransactionContext

Opaque-Element, das den Wert der Transaktionsminiversions-ID enthält, wenn das Transaction Member nicht NULL-ist. Wenn TransactionNULL-ist, ist der Wert TransactionContext- nicht definiert.

Filter

Undurchsichtiger Filterzeiger für den Minifiltertreiber, dessen Rückrufroutine für den Vorgang aufgerufen wird. Dieser Zeiger identifiziert den Minifiltertreiber eindeutig und bleibt konstant, solange der Minifiltertreiber geladen wird.

Volume

Undurchsichtiger Volumezeiger für das Volume, das dem Vorgang zugeordnet ist. Dieser Zeiger identifiziert das Volume eindeutig und bleibt über die Lebensdauer des Volumegerätestapels konstant.

Instance

Undurchsichtiger Instanzzeiger für die Minifiltertreiberinstanz, die dem Vorgang zugeordnet ist. Dieser Zeiger identifiziert die Instanz eindeutig und bleibt konstant, solange die Instanz an ein Volume angefügt ist.

FileObject

Zeigen Sie ggf. auf das Dateiobjekt für den Vorgang.

Transaction

Unter Windows Vista und höher ist dieses Element ein undurchsichtiger Transaktionszeiger auf die Transaktion, die dem Vorgang zugeordnet ist. Der Vorgang ist Teil einer Transaktion, wenn der Wert dieses Elements nicht NULL-ist. Wenn der Wert dieses Elements NULL-ist, ist der Vorgang nicht Teil einer Transaktion. Unter Windows-Betriebssystemen vor Windows Vista wird der Wert dieses Elements immer NULL-.

Bemerkungen

Die FLT_RELATED_OBJECTS Struktur wird vom Filter-Manager zugewiesen und enthält undurchsichtige Zeiger für die Objekte, die einem E/A-Vorgang zugeordnet sind, oder einen Instanzeinrichtungs- oder Abbruchvorgang.

Der Inhalt der FLT_RELATED_OBJECTS-Struktur wird vom Filter-Manager festgelegt. Minifiltertreiber können den Inhalt dieser Struktur nicht direkt ändern. Wenn ein Minifiltertreiber jedoch die Zielinstanz oder das Zieldateiobjekt für einen E/A-Vorgang in der FLT_IO_PARAMETER_BLOCK Struktur für den Vorgang ändert, ändert der Filter-Manager den Wert der entsprechenden Instance oder FileObject Member der FLT_RELATED_OBJECTS Struktur, die an niedrigere Minifiltertreiber übergeben wird. Weitere Informationen finden Sie unter Ändern der Parameter für einen E/A-Vorgang.

Ein Minifiltertreiber empfängt einen Zeiger auf eine FLT_RELATED_OBJECTS Struktur als FltObjects Eingabeparameter für die folgenden Rückrufroutintypen:

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

Um Zeiger auf den Kontext eines Minifiltertreibers für die Objekte in einer FLT_RELATED_OBJECTS-Struktur abzurufen, rufen Sie FltGetContextsauf.

typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

Anforderungen

Anforderung Wert
Header- fltkernel.h (include Fltkernel.h)

Siehe auch

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