다음을 통해 공유


FsRtlSetupAdvancedHeaderEx2 매크로(ntifs.h)

FsRtlSetupAdvancedHeaderEx2 매크로는 파일 시스템에서 스트림 및 파일 컨텍스트에 사용할 FSRTL_ADVANCED_FCB_HEADER 구조를 초기화하는 데 사용됩니다.

통사론

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

매개 변수

_advhdr

초기화할 FSRTL_ADVANCED_FCB_HEADER 구조체에 대한 포인터입니다.

_fmutx

특정 FSRTL_ADVANCED_FCB_HEADER 멤버에 대한 액세스를 동기화하는 데 사용할 초기화된 빠른 뮤텍스에 대한 포인터입니다. 빠른 뮤텍스는 페이지가 없는 풀에서 할당해야 합니다. 이 매개 변수는 선택 사항이며 NULL수 있습니다. 호출자는 기존 빠른 뮤텍스 개체를 사용하려는 경우 NULL 이 매개 변수를 설정해야 합니다. FastMutex NULL경우 호출자는 스트림 컨텍스트 개체에 포함된 FSRTL_ADVANCED_FCB_HEADER 구조체의 FastMutex 멤버를 명시적으로 설정하여 기존 빠른 뮤텍스를 가리킵니다. (FsRtlSetupAdvancedHeaderEx2호출하기 전이나 후에 수행할 수 있습니다.)

_fctxptr

파일 컨텍스트를 추적하기 위해 FSRTL(파일 시스템 런타임 라이브러리)에서 사용하는 포인터 필드에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL수 있습니다. FileContextSupportPointer NULL않으면 FileContextSupportPointer 구조를 만든 파일 시스템에 대한 파일별 구조 내의 PVOID 변수에 대한 포인터여야 합니다. 파일 시스템 드라이버가 파일 컨텍스트를 지원하지 않음을 나타내려면 호출자는 FileContextSupportPointer NULL설정해야 합니다.

_aepushlock

고급 헤더AePushLock 필드를 초기화하는 데 사용되는 불투명 구조체에 대한 포인터입니다. 이 함수의 호출자는 FsRtlAllocateAePushLock호출한 후 FsRtlFreeAePushLock호출하여 메모리를 해제하여 이 필드에 대한 메모리를 먼저 할당하고 초기화합니다. 자동 확장 푸시 잠금에 대한 자세한 내용은 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