Macro FsRtlSetupAdvancedHeaderEx2 (ntifs.h)
La macro FsRtlSetupAdvancedHeaderEx2 est utilisée par les systèmes de fichiers pour initialiser une structure FSRTL_ADVANCED_FCB_HEADER à utiliser avec des contextes de flux et de fichier.
Syntaxe
void FsRtlSetupAdvancedHeaderEx2(
_advhdr,
_fmutx,
_fctxptr,
_aepushlock
);
Paramètres
_advhdr
Pointeur vers la structure FSRTL_ADVANCED_FCB_HEADER à initialiser.
_fmutx
Pointeur vers un mutex rapide initialisé qui sera utilisé pour synchroniser l’accès à certains membres FSRTL_ADVANCED_FCB_HEADER. Le mutex rapide doit être alloué à partir du pool non paginé. Ce paramètre est facultatif et peut être NULL. Les appelants doivent définir ce paramètre sur NULL s’ils ont l’intention d’utiliser un objet mutex rapide déjà existant. Si FastMutex est NULL, l’appelant doit définir explicitement le membre FastMutex de la structure FSRTL_ADVANCED_FCB_HEADER, contenu dans l’objet de contexte de flux, pour pointer vers le mutex rapide existant. (Cette opération peut être effectuée avant ou après l’appel de FsRtlSetupAdvancedHeaderEx2.)
_fctxptr
Pointeur vers un champ de pointeur utilisé par la bibliothèque d’exécution du système de fichiers (FSRTL) pour suivre les contextes de fichier. Ce paramètre est facultatif et peut être NULL. Si fileContextSupportPointer n’est pas NULL, FileContextSupportPointer doit être un pointeur vers une variable PVOID à l’intérieur d’une structure par fichier pour le système de fichiers qui a créé la structure. Pour indiquer que le pilote du système de fichiers ne prend pas en charge les contextes de fichier, les appelants doivent définir FileContextSupportPointer sur NULL.
_aepushlock
Pointeur vers une structure opaque utilisée pour initialiser le champ AePushLock de l’en-tête avancé . L’appelant de cette fonction est responsable de la première allocation et de l’initialisation de la mémoire pour ce champ en appelant FsRtlAllocateAePushLock, puis en libérant la mémoire en appelant FsRtlFreeAePushLock. Consultez FSRTL_ADVANCED_FCB_HEADER pour plus d’informations sur les verrous push de développement automatique.
Valeur de retour
Aucun
Remarques
Les systèmes de fichiers utilisent la macro FsRtlSetupAdvancedHeaderEx2 pour initialiser une structure FSRTL_ADVANCED_FCB_HEADER à utiliser avec des contextes de flux et de fichiers.
Lorsque la structure d’en-tête FCB avancée n’est plus nécessaire, le système de fichiers doit appeler FsRtlTeardownPerStreamContexts pour libérer toutes les structures de contexte de flux et de fichiers associées.
Pour plus d’informations, consultez suivi Per-Stream contexte dans un pilote de filtre de système de fichiers hérité.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10, version 20H2 |
d’en-tête | ntifs.h |