共用方式為


FsRtlSetupAdvancedHeaderEx2 巨集 (ntifs.h)

文件系統會使用 FsRtlSetupAdvancedHeaderEx2 巨集來初始化 FSRTL_ADVANCED_FCB_HEADER 結構,以搭配數據流和檔案內容使用。

語法

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

參數

_advhdr

要初始化之 FSRTL_ADVANCED_FCB_HEADER 結構的指標。

_fmutx

初始化之快速 Mutex 的指標,將用來同步存取特定 FSRTL_ADVANCED_FCB_HEADER 成員。 快速 Mutex 必須從非分頁集區配置。 這個參數是選擇性的,而且可以 NULL。 呼叫端應該將此參數設定為 NULL,如果他們想要使用已經存在的快速 Mutex 物件。 如果 FastMutexNULL,則呼叫端必須明確設定數據流內容物件中包含的 FSRTL_ADVANCED_FCB_HEADER 結構 FastMutex 成員,以指向現有的快速 mutex。 (這可以在呼叫 FsRtlSetupAdvancedHeaderEx2之前或之後完成。

_fctxptr

檔案系統運行時間連結庫 (FSRTL) 用來追蹤檔案內容的指標字段指標。 這個參數是選擇性的,而且可以 NULL。 如果 FileContextSupportPointer不是 NULLFileContextSupportPointer 必須是建立結構之文件系統之每個檔案結構內的 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