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 値を返します。
リターン コード | 説明 |
---|---|
STATUS_FLT_DELETING_OBJECT | ボリュームが破棄されています。 これはエラー コードです。 |
STATUS_INVALID_PARAMETER | DeviceObject パラメーターで指定されたボリューム デバイス オブジェクトが有効なボリューム デバイス オブジェクト ポインターでなかったか、一致するボリュームが見つかりませんでした。 これはエラー コードです。 |
注釈
DeviceObject パラメーターには、フィルターまたはファイル システム ボリューム デバイス オブジェクト (VDO) へのポインターを指定できます。 ストレージ デバイス オブジェクトを指している場合、 FltGetVolumeFromDeviceObject は STATUS_INVALID_PARAMETERを返します。
ボリューム デバイス オブジェクトの詳細については、「 ファイル システム スタック」を参照してください。
FltGetVolumeFromDeviceObject は、 RetVolume パラメーターで返される不透明なボリューム ポインターにランダウン参照を追加します。 このポインターが不要になった場合、呼び出し元は FltObjectDereference を呼び出してポインターを解放する必要があります。 したがって、 FltGetVolumeFromDeviceObject の呼び出しが成功するたびに、 後続の FltObjectDereference の呼び出しと一致する必要があります。
特定のボリュームのデバイス オブジェクトへのポインターを取得するには、 FltGetDeviceObject を呼び出します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | <= APC_LEVEL |