共用方式為


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 值,例如下列其中一項:

傳回碼 描述
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

要求

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

另請參閱

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING