共用方式為


FltGetVolumeFromFileObject 函式 (fltkernel.h)

FltGetVolumeFromFileObject 例程會針對指定檔案數據流所在的磁碟區傳回不透明指標。

語法

NTSTATUS FLTAPI FltGetVolumeFromFileObject(
  [in]  PFLT_FILTER  Filter,
  [in]  PFILE_OBJECT FileObject,
  [out] PFLT_VOLUME  *RetVolume
);

參數

[in] Filter

呼叫端的不透明篩選指標。 這是必要參數,而且無法 NULL

[in] FileObject

位於磁碟區上之檔案數據流的檔案對象指標。

[out] RetVolume

呼叫端配置的變數指標,該變數會接收磁碟區的不透明指標。 這是必要參數,而且無法 NULL

傳回值

FltGetVolumeFromFileObject 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 描述
STATUS_FLT_DELETING_OBJECT
磁碟區正在被拆毀。 這是錯誤碼。
STATUS_INVALID_PARAMETER
找不到相符的磁碟區。 這是錯誤碼。

言論

FltGetVolumeFromFileObject 會將 rundown 參考新增至 RetVolume 參數中所傳回的不透明磁碟區指標。 不再需要此指標時,呼叫端必須呼叫 FltObjectDereference來釋放它。 因此,FltGetVolumeFromFileObject 的每個成功呼叫都必須與後續呼叫 FltObjectDereference相符。

若要取得指定磁碟區的裝置物件的指標,請呼叫 FltGetDeviceObject

要求

要求 價值
目標平臺 普遍
標頭 fltkernel.h (包括 Fltkernel.h)
連結庫 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference