次の方法で共有


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 から派生するため、QueryInterfaceAddRefRelease の各メソッドが既定でサポートされます。 AddRef メソッドと Release メソッドは、オブジェクトの有効期間を管理します。 QueryInterface メソッドを使用すると、他のコンポーネントでドライバーがサポートするインターフェイスを決定できます。