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 |