FltGetTopInstance 函式 (fltkernel.h)

FltGetTopInstance 例程會傳回迷你篩選驅動程序實例的不透明實例指標,該實例會附加在指定磁碟區的實例堆棧頂端。

語法

NTSTATUS FLTAPI FltGetTopInstance(
  [in]  PFLT_VOLUME   Volume,
  [out] PFLT_INSTANCE *Instance
);

參數

[in] Volume

磁碟區的不透明指標。

[out] Instance

呼叫端配置的變數指標,該變數會接收此磁碟區底部實例的不透明實例指標。 這個參數是必要的,而且不能是 NULL

傳回值

FltGetTopInstance 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如:

傳回碼 Description
STATUS_NO_MORE_ENTRIES
找不到相符的實例。 這是警告碼。

備註

如果實例高度高於附加至相同磁碟區之所有其他實例的高度,實例就表示位於迷你篩選驅動程序實例堆疊 的頂端 。 「高度」一詞是指實例在磁碟區迷你篩選驅動程序實例堆疊中佔用的位置。 高度愈高,實例越遠於堆疊中的基底文件系統。 指定的磁碟區上只能附加一個實例的指定高度。

高度是由 高度字串所指定,這是包含 0 到 9 之一或多個十進位數的計算 Unicode 字串,而且可以包含單一小數點。 例如,“100.123456” 和 “03333” 是有效的高度字串。

字串 “033333” 代表高於 “100.123456” 的高度。 (開頭和尾端零會被忽略。) 換句話說,高度為 “03333” 的實例比高度為 “100.123456” 的實例遠於基底文件系統。 不過,只有在兩個實例都附加至相同的磁碟區時,此比較才有意義。

FltGetTopInstance 會將取消參考新增至 Instance 參數中傳回的不透明實例指標。 不再需要此指標時,呼叫端必須呼叫 FltObjectDereference 來釋放它。 因此,每個成功呼叫 FltGetTopInstance 都必須與 後續對 FltObjectDereference 的呼叫相符。

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
Dll Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetLowerInstance

FltGetUpperInstance

FltObjectDereference