Поделиться через


Макрос FsRtlSetupAdvancedHeaderEx2 (ntifs.h)

Макрос FsRtlSetupAdvancedHeaderEx 2 используется файловыми системами для инициализации структуры FSRTL_ADVANCED_FCB_HEADER для использования с контекстами потока и файлов.

Синтаксис

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

Параметры

_advhdr

Указатель на инициализацию FSRTL_ADVANCED_FCB_HEADER структуры.

_fmutx

Указатель на инициализированный быстрый мьютекс, который будет использоваться для синхронизации доступа к определенным элементам FSRTL_ADVANCED_FCB_HEADER. Быстрый мьютекс должен быть выделен из непагированного пула. Этот параметр является необязательным и может быть null. Вызывающие пользователи должны задать для этого параметра значение NULL если они намерены использовать уже существующий быстрый объект мьютекса. Если FastMutexNULL, вызывающий объект должен явно задать элемент FastMutex структуры FSRTL_ADVANCED_FCB_HEADER, содержащейся в объекте контекста потока, чтобы указать на существующий быстрый мьютекс. (Это можно сделать до или после вызова FsRtlSetupAdvancedHeaderEx2.)

_fctxptr

Указатель на поле указателя, используемое библиотекой среды выполнения файловой системы (FSRTL) для отслеживания контекстов файлов. Этот параметр является необязательным и может быть null. Если FileContextSupportPointer не NULL, FileContextSupportPointer должен быть указателем на переменную PVOID внутри структуры файла для файловой системы, создающей структуру. Чтобы указать, что драйвер файловой системы не поддерживает контексты файлов, вызывающие элементы должны задать FileContextSupportPointer значение NULL.

_aepushlock

Указатель на непрозрачную структуру, используемую для инициализации поля AePushLockрасширенного заголовка . Вызывающий эту функцию отвечает за первое выделение и инициализацию памяти для этого поля путем вызова FsRtlAllocateAePushLockи последующего освобождения памяти путем вызова FsRtlFreeAePushLock. Дополнительные сведения об автоматическом развертывании блокировок push-уведомлений см. в FSRTL_ADVANCED_FCB_HEADER.

Возвращаемое значение

Никакой

Замечания

Файловые системы используют макрос FsRtlSetupAdvancedHeaderEx2 для инициализации структуры FSRTL_ADVANCED_FCB_HEADER для использования с контекстами потока и файлов.

Если расширенная структура заголовков FCB больше не требуется, файловая система должна вызывать FsRtlTeardownPerStreamContexts для освобождения всех связанных структур потока и контекста файлов.

Дополнительные сведения см. в контексте отслеживания Per-Stream вустаревшего драйвера фильтра файловой системы.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 20H2
заголовка ntifs.h

См. также

FSRTL_ADVANCED_FCB_HEADER

FSRTL_PER_STREAM_CONTEXT

FsRtlAllocateAePushLock

FsRtlFreeAePushLock

FsRtlInitPerStreamContext

FsRtlInsertPerStreamContext

FsRtlLookupPerStreamContext

FsRtlRemovePerStreamContext

FsRtlSupportsPerStreamContexts

FsRtlTeardownPerStreamContexts