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_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.
typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
Anforderungen
Anforderung | Wert |
---|---|
Header | fltkernel.h (fltkernel.h einschließen) |
Weitere Informationen
FltDoCompletionProcessingWhenSafe
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK