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
ボリューム名 ("\Device\HarddiskVolume1"、"\DosDevices\D:"、"\?など) を含む UNICODE_STRING 構造体へのポインター。\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の