次の方法で共有


IoGetDiskDeviceObject 関数 (ntifs.h)

IoGetDiskDeviceObject ルーチンは、特定のファイル システム ボリューム デバイス オブジェクトに関連付けられているディスク デバイス オブジェクトへのポインターを取得します。

構文

NTSTATUS IoGetDiskDeviceObject(
  [in] PDEVICE_OBJECT FileSystemDeviceObject,
       PDEVICE_OBJECT *DiskDeviceObject
);

パラメーター

[in] FileSystemDeviceObject

ファイル システム デバイス オブジェクトへのポインター。

DiskDeviceObject

ディスク デバイス オブジェクトのデバイス オブジェクトのアドレスを受け取る変数へのポインター。

戻り値

IoGetDiskDeviceObject は 、次のいずれかの状態値を返します。

リターン コード 説明
STATUS_INVALID_PARAMETER
この関数に渡されたパラメーターの 1 つが無効でした。
STATUS_VOLUME_DISMOUNTED
STATUS_SUCCESS

注釈

IoGetDiskDeviceObject は、ファイル システム ボリュームに関連付けられているストレージ デバイス オブジェクトへのポインターを返します。 ストレージ デバイスは実際のディスクである必要はありません

通常、ファイル システム フィルター ドライバーは、ファイル システム ボリューム デバイス オブジェクトの IoGetDiskDeviceObject を呼び出して、ボリュームがマウントされているかどうかを判断します。

IoGetDiskDeviceObject は、 DeviceObject が指すディスク デバイス オブジェクトの参照カウントをインクリメントします。 したがって、 IoGetDiskDeviceObject の呼び出しが成功するたびに、 ObDereferenceObject の後続の呼び出しと一致する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 SP4 更新プログラムのロールアップ。Windows XP
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

IoEnumerateDeviceObjectList

IoGetAttachedDevice

IoGetAttachedDeviceReference

IoGetLowerDeviceObject

ObDereferenceObject