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 值,例如下列其中一項:
傳回碼 | Description |
---|---|
STATUS_FLT_DELETING_OBJECT | 磁碟區正在損毀。 這是錯誤碼。 |
STATUS_INVALID_PARAMETER | DeviceObject 參數中指定的磁碟區裝置物件不是有效的磁碟區裝置物件指標,或找不到相符的磁碟區。 這是錯誤碼。 |
備註
DeviceObject 參數可以是篩選或文件系統磁碟區裝置物件的指標, (VDO) 。 如果指向存儲設備物件, FltGetVolumeFromDeviceObject 會傳回STATUS_INVALID_PARAMETER。
如需磁碟區裝置對象的詳細資訊,請參閱 文件系統堆疊。
FltGetVolumeFromDeviceObject 會將取消參考新增至 RetVolume 參數中傳回的不透明磁碟區指標。 不再需要此指標時,呼叫端必須呼叫 FltObjectDereference 來釋放它。 因此,每次成功呼叫 FltGetVolumeFromDeviceObject 時,都必須比對 FltObjectDereference 的後續呼叫。
若要取得指定磁碟區的裝置物件的指標,請呼叫 FltGetDeviceObject。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | FltMgr.lib |
Dll | Fltmgr.sys |
IRQL | <= APC_LEVEL |