共用方式為


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。 如果呼叫端想要使用已經存在的快速 Mutex 物件,則應該將此參數設定為 NULL 。 如果FastMutexNULL,則呼叫端必須明確設定數據流內容物件中所包含FSRTL_ADVANCED_FCB_HEADER結構的FastMutex成員,以指向現有的快速 mutex。 (這可以在呼叫 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