共用方式為


FltGetVolumeFromName 函式 (fltkernel.h)

FltGetVolumeFromName 例程會傳回磁碟區的不透明指標,其名稱符合 VolumeName 參數的值。

語法

NTSTATUS FLTAPI FltGetVolumeFromName(
  [in]  PFLT_FILTER      Filter,
  [in]  PCUNICODE_STRING VolumeName,
  [out] PFLT_VOLUME      *RetVolume
);

參數

[in] Filter

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

[in] VolumeName

包含磁碟區名稱 (UNICODE_STRING結構的指標 ,例如 “\Device\HarddiskVolume1”、“\DosDevices\D:”、“\??\D:“ 或 ”D:“) 。 這個參數是必要的,而且不能是 NULL

[out] RetVolume

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

傳回值

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

傳回碼 Description
STATUS_ACCESS_DENIED 呼叫端沒有磁碟區FILE_READ_DATA存取權。 這是錯誤碼。
STATUS_FLT_DELETING_OBJECT 磁碟區正在損毀。 這是錯誤碼。
STATUS_INVALID_PARAMETER VolumeName 參數指定了無效的值。 這是錯誤碼。
STATUS_FLT_VOLUME_NOT_FOUND 找不到相符的磁碟區。 這是錯誤碼。

備註

FltGetVolumeFromName 會針對名稱符合 VolumeName 的磁碟區搜尋篩選管理員的磁碟區全域清單。 呼叫端必須具有磁碟區FILE_READ_DATA存取權。 若要找出磁碟區結構, FltGetVolumeFromName 必須先開啟磁碟區。

FltGetVolumeFromName 會在 RetVolume 參數中傳回的不透明磁碟區指標中新增下拉式參考。 不再需要此指標時,呼叫端必須呼叫 FltObjectDereference 來釋放它。 因此,對 FltGetVolumeFromName 的每個成功呼叫都必須符合 後續對 FltObjectDereference 的呼叫。

若要取得指定磁碟區的磁碟區名稱,請呼叫 FltGetVolumeName

若要取得指定磁碟區的磁碟區 GUID 名稱,請呼叫 FltGetVolumeGuidName

規格需求

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

另請參閱

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING