次の方法で共有


IoctlReqs ルール (kmdf)

IoctlReqs ルールは、不適切な KMDF 要求に IOCTL 要求を渡したり、デバイス ドライバー インターフェイス (DDI) を送信したりしないように指定します。

ドライバー の EvtIoDeviceControl イベント コールバック関数に提示されるすべての要求は、IOCTL 要求であることが保証されます。 ドライバーの EvtIoDeviceControl 関数は、EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL 関数ロール型宣言を使用して宣言されます。

これらの IOCTL 要求は、読み取り、書き込み、または IOCTL 要求の送信に固有の次の DDI に送信できません。

WdfUsbTargetPipeSendUrbSynchronouslyWdfIoTargetSendReadSynchronouslyWdfIoTargetSendWriteSynchronouslyWdfIoTargetSendInternalIoctlSynchronouslyWdfIoTargetSendInternalIoctlOthersSynchronouslyWdfUsbTargetPipeWriteSynchronouslyWdfUsbTargetPipeReadSynchronously

ドライバーモデル: KMDF

テスト方法

コンパイル時

静的ドライバー検証ツール を実行し、IoctlReqs ルールを指定します。

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

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

適用対象

WdfIoTargetSendInternalIoctlOthersSynchronouslyWdfIoTargetSendInternalIoctlSynchronouslyWdfIoTargetSendReadSynchronouslyWdfIoTargetSendWriteSynchronouslyWdfUsbTargetPipeReadSynchronouslyWdfUsbTargetPipeSendUrbSynchronouslyWdfUsbTargetPipeWriteSynchronously