WdfPdoAddEjectionRelationsPhysicalDevice 関数 (wdfpdo.h)
[KMDF にのみ適用]
WdfPdoAddEjectionRelationsPhysicalDevice メソッドは、別の指定されたデバイスが取り出されたときに、指定されたデバイスが取り出されることを示します。
構文
NTSTATUS WdfPdoAddEjectionRelationsPhysicalDevice(
[in] WDFDEVICE Device,
[in] PDEVICE_OBJECT PhysicalDevice
);
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] PhysicalDevice
物理デバイス オブジェクト (PDO) を表す呼び出し元が指定した DEVICE_OBJECT 構造体へのポインター。
戻り値
操作が成功した場合、メソッドは STATUS_SUCCESS を返します。 その他の戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
入力パラメーターが NULL です。 |
|
メモリ割り当てに失敗しました。 |
メソッドは、他の 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) |