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;

Member

Size

Größe der FLT_RELATED_OBJECTS-Struktur in Byte.

TransactionContext

Nicht transparentes Element, das den Wert der Transaktionsminiversions-ID enthält, wenn das Transaction-Element nicht NULL ist. Wenn Transactionnull ist, ist der Wert von 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 instance Zeiger für den Minifiltertreiber instance, der dem Vorgang zugeordnet ist. Dieser Zeiger identifiziert die instance eindeutig und bleibt konstant, solange die instance an ein Volume angefügt ist.

FileObject

Zeiger auf das Dateiobjekt( falls vorhanden) für den Vorgang.

Transaction

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

Hinweise

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

Der Inhalt der FLT_RELATED_OBJECTS-Struktur wird vom Filter-Manager festgelegt. Minifiltertreiber können den Inhalt dieser Struktur nicht direkt ändern. Wenn jedoch ein Minifiltertreiber das Ziel-instance- oder 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 des entsprechenden Instance- oder FileObject-Elements 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 auf die folgenden Rückrufroutinentypen:

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

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

Hinweistypedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

Anforderungen

Anforderung Wert
Header fltkernel.h (fltkernel.h einschließen)

Weitere Informationen

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