次の方法で共有


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
DependentDeviceNULL です
STATUS_INSUFFICIENT_RESOURCES
メモリ割り当てに失敗しました。
 

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

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

注釈

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

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

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

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

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

status = WdfDeviceAddDependentUsageDeviceObject(
                                                device,
                                                pDeviceObject
                                                );

要件

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

こちらもご覧ください

EvtDeviceUsageNotification

WdfDeviceRemoveDependentUsageDeviceObject