トレーニング
モジュール
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
このトピックでは、カーネル モード ドライバー フレームワーク (KMDF) ドライバーを記述するために必要な最小限の機能について説明します。 UMDF バージョン 2 以降のユーザー モード ドライバー フレームワーク (UMDF) ドライバーを作成するには、同じ最小限の機能が必要です。
新しい KMDF ドライバーか UMDF ドライバーを作成する場合、32 文字以下のドライバー名を選ぶ必要があります。 この長さの制限は wdfglobals.h で定義されています。 ドライバー名が最大長を超えると、ドライバーはロードできません。
各フレームワーク ベースのドライバーは、DriverEntry ルーチンと、オブジェクト固有のイベントが発生したときにフレームワークが呼び出すイベント コールバック関数のセットで構成されます。 たとえば、単純なフレームワーク ベースのドライバーは、次で構成される場合があります。
ドライバーが読み込まれるときに呼び出され、WdfDriverCreate を呼び出す DriverEntry ルーチン。
フレームワークが、ドライバーがサポートするハードウェア ID と一致するハードウェア識別子 (ID) を持つデバイスの検出を プラグ アンド プレイ (PnP) マネージャーが報告するときに呼び出す EvtDriverDeviceAdd イベント コールバック関数。
ドライバーがサポートするハードウェア ID を指定するには、INF ファイルを指定します。INF ファイルは、デバイスの 1 つがコンピューターに初めて接続されるときにオペレーティング システムがドライバーをインストールするために使用します。 システムが INF ファイルとハードウェア ID を使用する方法の詳細については、「セットアップでドライバーを選択する方法」をご参照ください。
ドライバーの EvtDriverDeviceAdd コールバック関数は、WdfDeviceCreate を呼び出して、検出されたデバイスのフレームワーク デバイス オブジェクトを作成します。
I/O マネージャーがドライバーに I/O 要求を送信するときにフレームワークが呼び出す、EvtIoDefault コールバック関数などの要求ハンドラー。
I/O マネージャーがドライバーに I/O 要求を送信すると、フレームワークは要求を I/O キューに配置し、要求ハンドラーを呼び出してドライバーに通知します。
ドライバーは、デバイスの I/O 要求を受信できるように、デバイスごとに少なくとも 1 つの I/O キューを作成する必要があります。 I/O キューを作成するために、ドライバーは WdfIoQueueCreate を呼び出し、フレームワーク キュー オブジェクトを作成し、デバイスの要求ハンドラーを登録します。
フレームワーク ベースのドライバーの記述の詳細については、「フレームワークを使用してドライバーを開発する」をご参照ください。
トレーニング
モジュール
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.