次の方法で共有


WdfPdoAddEjectionRelationsPhysicalDevice 関数 (wdfpdo.h)

[KMDF にのみ適用]

WdfPdoAddEjectionRelationsPhysicalDevice メソッドは、別の指定されたデバイスが取り出されたときに、指定されたデバイスが取り出されることを示します。

構文

NTSTATUS WdfPdoAddEjectionRelationsPhysicalDevice(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT PhysicalDevice
);

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

[in] PhysicalDevice

物理デバイス オブジェクト (PDO) を表す呼び出し元が指定した DEVICE_OBJECT 構造体へのポインター。

戻り値

操作が成功した場合、メソッドは STATUS_SUCCESS を返します。 その他の戻り値は次のとおりです。

リターン コード 説明
STATUS_INVALID_PARAMETER
入力パラメーターが NULL です
STATUS_INSUFFICIENT_RESOURCES
メモリ割り当てに失敗しました。
 

メソッドは、他の NTSTATUS 値も返す場合があります。

ドライバーが無効なオブジェクト ハンドルを提供すると、システム バグ チェックが発生します。

注釈

PhysicalDevice パラメーターは、デバイスによって識別されるデバイスが取り出されたときに取り出されるデバイスの PDO 指します。 通常、両方のデバイスは呼び出し元のドライバーによって制御されます。 PnP マネージャーが親デバイスを取り出すと、 デバイス の子も取り出されるため、デバイスの子デバイスを報告しないでください。

詳細については、「 イジェクタブル デバイスのサポート」を参照してください。

次のコード例では、 pPhysicalDeviceObject 構造体が表すデバイスを、 デバイス が指定したデバイスが取り出されたときに取り出されるデバイスの一覧に追加します。

PDEVICE_OBJECT  pPhysicalDeviceObject;
NTSTATUS  status;
...
status = WdfPdoAddEjectionRelationsPhysicalDevice(
 device,
 pPhysicalDeviceObject
                                                  );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfpdo.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

こちらもご覧ください

WdfPdoClearEjectionRelationsDevices

WdfPdoRemoveEjectionRelationsPhysicalDevice