次の方法で共有


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 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)

関連項目

IoGetDeviceObjectPointer