Freigeben über


FsRtlSetupAdvancedHeaderEx2-Makro (ntifs.h)

Das FsRtlSetupAdvancedHeaderEx2 Makros wird von Dateisystemen verwendet, um eine FSRTL_ADVANCED_FCB_HEADER Struktur für die Verwendung mit Datenstrom- und Dateikontexten zu initialisieren.

Syntax

void FsRtlSetupAdvancedHeaderEx2(
   _advhdr,
   _fmutx,
   _fctxptr,
   _aepushlock
);

Parameter

_advhdr

Zeiger auf die zu initialisierende FSRTL_ADVANCED_FCB_HEADER Struktur.

_fmutx

Zeiger auf einen initialisierten schnellen Mutex, der verwendet wird, um den Zugriff auf bestimmte FSRTL_ADVANCED_FCB_HEADER Mitglieder zu synchronisieren. Der schnelle Mutex muss aus einem nicht seitengebundenen Pool zugewiesen werden. Dieser Parameter ist optional und kann NULL-werden. Aufrufer sollten diesen Parameter auf NULL- festlegen, wenn sie ein bereits vorhandenes schnelles Mutex-Objekt verwenden möchten. Wenn FastMutex-NULL-ist, muss der Aufrufer explizit das FastMutex-Element der FSRTL_ADVANCED_FCB_HEADER Struktur festlegen, das im Streamkontextobjekt enthalten ist, um auf den vorhandenen schnellen Mutex zu verweisen. (Dies kann vor oder nach dem Aufrufen FsRtlSetupAdvancedHeaderEx2erfolgen.)

_fctxptr

Ein Zeiger auf ein Zeigerfeld, das von der Dateisystemlaufzeitbibliothek (FSRTL) zum Nachverfolgen von Dateikontexten verwendet wird. Dieser Parameter ist optional und kann NULL-werden. Wenn FileContextSupportPointer- nicht NULL-ist, muss FileContextSupportPointer- ein Zeiger auf eine PVOID-Variable innerhalb einer Dateistruktur für das Dateisystem sein, das die Struktur erstellt hat. Um anzugeben, dass der Dateisystemtreiber Dateikontexte nicht unterstützt, müssen Aufrufer FileContextSupportPointer- auf NULL-festlegen.

_aepushlock

Zeiger auf eine undurchsichtige Struktur, die zum Initialisieren des AePushLock Felds des erweiterten Header-verwendet wird. Der Aufrufer dieser Funktion ist dafür verantwortlich, zuerst den Speicher für dieses Feld zuzuweisen und zu initialisieren, indem FsRtlAllocateAePushLockaufgerufen und anschließend den Speicher durch Aufrufen von FsRtlFreeAePushLockfreigegeben wird. Weitere Informationen zu automatisch erweiternden Pushsperren finden Sie unter FSRTL_ADVANCED_FCB_HEADER.

Rückgabewert

Nichts

Bemerkungen

Dateisysteme verwenden das FsRtlSetupAdvancedHeaderEx2 Makro, um eine FSRTL_ADVANCED_FCB_HEADER Struktur für die Verwendung mit Datenstrom- und Dateikontexten zu initialisieren.

Wenn die erweiterte FCB-Headerstruktur nicht mehr erforderlich ist, muss das Dateisystem FsRtlTeardownPerStreamContexts aufrufen, um alle zugeordneten Datenstrom- und Dateikontextstrukturen freizugeben.

Weitere Informationen finden Sie unter Tracking Per-Stream Context in einem Legacy File System Filter Driver.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 20H2
Header- ntifs.h

Siehe auch

FSRTL_ADVANCED_FCB_HEADER

FSRTL_PER_STREAM_CONTEXT

FsRtlAllocateAePushLock

FsRtlFreeAePushLock

FsRtlInitPerStreamContext-

FsRtlInsertPerStreamContext-

FsRtlLookupPerStreamContext-

FsRtlRemovePerStreamContext-

FsRtlSupportsPerStreamContexts

FsRtlTeardownPerStreamContexts