次の方法で共有


IoGetRelatedDeviceObject 関数 (wdm.h)

ファイル オブジェクトを指定すると、 IoGetRelatedDeviceObject ルーチンは、対応するデバイス オブジェクトへのポインターを返します。

構文

PDEVICE_OBJECT IoGetRelatedDeviceObject(
  [in] PFILE_OBJECT FileObject
);

パラメーター

[in] FileObject

ファイル オブジェクトへのポインター。

戻り値

IoGetRelatedDeviceObject は、デバイス オブジェクトへのポインターを返します。

注釈

基になるストレージ デバイスを表すファイル オブジェクトで呼び出されると、 IoGetRelatedDeviceObject はストレージ デバイス スタックの最上位レベルのデバイス オブジェクトを返します。 ファイル システム ドライバー スタックの最上位レベルのデバイス オブジェクトを取得するには、ドライバーは、ファイル システムのドライバー スタックを表すファイル オブジェクトで IoGetRelatedDeviceObject を呼び出す必要があり、ファイル システムを現在マウントする必要があります。 (それ以外の場合、ストレージ デバイス スタックはファイル システム スタックの代わりに走査されます)。

ファイル システムがストレージ デバイスに確実にマウントされるようにするには、ファイル オブジェクトで表されるファイルまたはデバイスを開くときに、ドライバーが適切なアクセス マスク (FILE_READ_DATAやFILE_WRITE_ATTRIBUTESなど) を指定している必要があります。 FILE_READ_ATTRIBUTESを指定しても、ファイル システムはマウントされません。

呼び出し元は IRQL <= DISPATCH_LEVEL で実行されている必要があります。 通常、このルーチンの呼び出し元は IRQL = PASSIVE_LEVELで実行されます。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)

こちらもご覧ください

IoGetDeviceObjectPointer