UsbDeviceCreateTarget ルール (kmdf)

UsbDeviceCreateTarget ルールは、現在デバイス コンテキスト内にある WDFUSBDEVICE オブジェクトがリークされている間、複数の WDFUSBDEVICE オブジェクトが作成されないことを指定します。

たとえば、 EvtDevicePrepareHardware イベント コールバック関数は、システムがリソースを管理しようとしており、ドライバーに別のメモリ チャンクを割り当てる必要があるときに複数回呼び出すことができます。 この状況では、フレームワークが最初に EvtDevicePrepareHardware を呼び出した後、 EvtDeviceReleaseHardware イベント コールバック関数を呼び出してメモリ リソースのマップを解除します。 その後、 EvtDevicePrepareHardware が再度呼び出され、ドライバーがデバイスに割り当てられているメモリにアクセスできるように、リソースをマップします。 この規則チェック、ドライバーが最初にターゲット WDFUSBDEVICE が NULL であることを確認し、単に新しいデバイスを作成して前のハンドルを置き換えるわけではありません。

ドライバーモデル: KMDF

テスト方法

コンパイル時

静的ドライバー検証 を実行し、 UsbDeviceCreateTarget 規則を指定します。

コードの分析を実行するには、次の手順に従います。
  1. コードを準備します (ロール型宣言を使用します)。
  2. 静的ドライバー検証ツールを実行します。
  3. 結果を表示および分析します。

詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。

適用対象

WdfUsbTargetDeviceCreateWdfUsbTargetDeviceCreateWithParameters