次の方法で共有


WDF アーキテクチャ

WDF は、ドライバーのオブジェクト ベースのインターフェイスを提供します。 フレームワーク定義のオブジェクト インターフェイスは、次の要素で構成されます。

オブジェクト メソッド
メソッドとは、ドライバーがオブジェクトに対して操作を実行したり、オブジェクト プロパティを取得または設定したりするために呼び出すことができる関数です。 メソッドの名前は WdfObjectAction で、 Object はオブジェクトを表し、 Action は関数の動作を示します。 たとえば、 WdfDeviceCreate によってデバイス オブジェクトが作成されます。

オブジェクト イベントコールバック関数
イベント コールバック関数は、ドライバーが提供する関数です。 各イベント コールバック関数は、オブジェクトで発生する可能性のある特定のイベントに関連付けられます。 フレームワークは、関連付けられたイベントが発生したときにイベント コールバック関数を呼び出します。 規則により、イベント コールバック関数のプレースホルダーは EvtObjectEvent と呼ばれますが、ドライバーで選択したコールバックに名前を付けることができます。 たとえば、ドライバーは、デバイスが動作状態になったときに通知される EvtDeviceD0Entry イベント コールバックを登録します。

オブジェクトのプロパティ
プロパティは、オブジェクト内に格納され、ドライバーが 取得 (つまり取得) および 設定 (つまり変更) できる値です。 多くの場合、プロパティは対応する WDM オブジェクトのフィールドに直接マップされます。 失敗できないプロパティには WdfObjectGetValueWdfObjectSetValue という名前が付けられますが、失敗が起こる可能性があるプロパティは WdfObjectRetrieveValueWdfObjectAssignValue という名前が付けられます。 オブジェクト はオブジェクトを表し、 Value は関数が設定または返すデータを識別します。 たとえば、 WdfDeviceGetDriver は、デバイス オブジェクトに関連付けられているドライバー オブジェクトへのハンドルを返します。

オブジェクト ハンドル
フレームワーク ベースのドライバーは、フレームワーク オブジェクトに直接アクセスすることはありません。 代わりに、ドライバーは、オブジェクトのメソッドに渡すことができるオブジェクト ハンドルを受け取ります。

フレームワークでは、フレームワーク ベースのドライバーが使用するいくつかのオブジェクトの種類を定義します。

  • フレームワーク ドライバー オブジェクトは、各ドライバーを表します。

  • フレームワーク デバイス オブジェクトは、ドライバーがサポートする各デバイスを表します。

  • フレームワーク キュー オブジェクト は、デバイスの I/O 要求を受信する I/O キューを表します。

  • フレームワーク要求オブジェクト は、各 I/O キューが受信する I/O 要求を表します。

フレームワークが定義するすべてのオブジェクトの一覧については、「 フレームワーク オブジェクトの概要」を参照してください。