共用方式為


FltGetVolumeFromDeviceObject 函式 (fltkernel.h)

FltGetVolumeFromDeviceObject 例程會針對磁碟區裝置物件 (VDO) 所代表的磁碟區傳回不透明指標。

語法

NTSTATUS FLTAPI FltGetVolumeFromDeviceObject(
  [in]  PFLT_FILTER    Filter,
  [in]  PDEVICE_OBJECT DeviceObject,
  [out] PFLT_VOLUME    *RetVolume
);

參數

[in] Filter

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

[in] DeviceObject

磁碟區裝置物件的指標。

[out] RetVolume

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

傳回值

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

傳回碼 描述
STATUS_FLT_DELETING_OBJECT 磁碟區正在被拆毀。 這是錯誤碼。
STATUS_INVALID_PARAMETER DeviceObject 參數中指定的磁碟區裝置物件不是有效的磁碟區裝置物件指標,或找不到相符的磁碟區。 這是錯誤碼。

言論

DeviceObject 參數可以是篩選或文件系統磁碟區裝置物件的指標(VDO)。 如果指向存儲設備物件,FltGetVolumeFromDeviceObject 會傳回STATUS_INVALID_PARAMETER。

如需磁碟區裝置物件的詳細資訊,請參閱 檔案系統堆疊

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

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

要求

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

另請參閱

FltGetDeviceObject

FltGetDiskDeviceObject

FltObjectDereference