次の方法で共有


WdfDeviceAddDependentUsageDeviceObject 関数 (wdfdevice.h)

[KMDF にのみ適用]

WdfDeviceAddDependentUsageDeviceObject メソッドは、指定したデバイスを使用して特殊なファイル を格納するときに、指定したデバイスが別のデバイス依存していることを示します。

構文

NTSTATUS WdfDeviceAddDependentUsageDeviceObject(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT DependentDevice
);

パラメーター

[in] Device

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

[in] DependentDevice

デバイス が依存するデバイスを識別する、呼び出し元が指定した DEVICE_OBJECT 構造体 ポインター。

戻り値

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

リターン コード 形容
STATUS_INVALID_PARAMETER
DependentDevice NULL
STATUS_INSUFFICIENT_RESOURCES
メモリ割り当てに失敗しました。
 

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

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

備考

ドライバーは、WdfDeviceAddDependentUsageDeviceObject を呼び出して、Device によって識別されるデバイスが、DependentDeviceによって識別されるデバイスに依存していることを示すことができます(デバイス が特殊なファイル サポートしている場合)。 ドライバーが WdfDeviceAddDependentUsageDeviceObject 呼び出す場合、フレームワークは、DependentDeviceのドライバーで EvtDeviceUsageNotification コールバック関数 呼び出してから、Deviceのドライバーで EvtDeviceUsageNotification コールバック関数 呼び出します。

ドライバーは、WdfDeviceAddDependentUsageDeviceObject を複数回呼び出して、デバイス が特殊なファイルをサポートするために依存 複数のデバイスを識別できます。

ドライバーが WdfDeviceAddDependentUsageDeviceObject 呼び出した後、WdfDeviceRemoveDependentUsageDeviceObject を呼び出して、DependentDevice によって識別されたデバイス Device 依存しているデバイスの一覧から削除できます。

特殊ファイルの詳細については、「特別なファイル サポートする」を参照してください。

次のコード例では、別のデバイス (Device) が依存するデバイスの一覧にデバイス (pDeviceObject) を追加します。

status = WdfDeviceAddDependentUsageDeviceObject(
                                                device,
                                                pDeviceObject
                                                );

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.0
ヘッダー wdfdevice.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

関連項目

EvtDeviceUsageNotification

WdfDeviceRemoveDependentUsageDeviceObject