COM サブセットに基づく UMDF
警告
UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。
アーカイブされた UMDF 1 サンプルは、「Windows 11、バージョン 22H2 - 2022 年 5 月 ドライバーサンプルの更新」でご確認いただけます。
詳しくは、「UMDF の概要」をご覧ください。
フレームワーク オブジェクトとインターフェイスは、次の理由からコンポーネント オブジェクト モデル (COM) に基づいています。
COM は、多くのアプリケーション プログラマーにとってなじみのあるものです。
C++ は、COM アプリケーションのプログラミングに推奨される言語です。
COM インターフェイスを使用すると、デバイス ドライバー インターフェイス (DDI) を簡単に理解して移動できるように、関数を論理的にグループ化できます。
COM を使用すると、既存のドライバー DLL を再コンパイルしなくても、DDI を拡張および進化させることができます。
Microsoft Visual Studio やアクティブ なテンプレート ライブラリ (ATL) を含む多数のツールは、COM ベースのアプリケーションとオブジェクトをサポートします。
フレームワークでは、COM のごく一部のみを使用します。COM インフラストラクチャとランタイム ライブラリ全体に依存しません。 代わりに、フレームワークではクエリ インターフェイスと参照カウント機能のみが使用されます。 すべてのフレームワーク インターフェイスは IUnknown から派生するため、QueryInterface、AddRef、Release の各メソッドが既定でサポートされます。 AddRef メソッドと Release メソッドは、オブジェクトの有効期間を管理します。 QueryInterface メソッドを使用すると、他のコンポーネントでドライバーがサポートするインターフェイスを決定できます。