次の方法で共有


ユーザーモード NetAdapterCx

Windows 11 バージョン 24H2 以降では、NetAdapterCx を使用して 、User-Mode Driver Framework (UMDF) ネットワーク アダプター ドライバーを作成できます。 NetAdapterCx の UMDF API は KMDF バージョンに合わせ、コードの変更をほとんどまたはまったく行わずに KMDF ベースのクライアント ドライバーを UMDF に変換できます。

ユーザー モード NetAdapterCx ドライバーの利点

UMDF NetAdapterCx ドライバーを作成すると、次の利点があります。

  1. システムの安定性の強化: ユーザー モード ドライバーは、そのプロセスのアドレス空間にのみアクセスできます。 クラッシュしても、システムには影響しません。 ドライバーは自動的に再起動し、接続をすばやく復元できます。

  2. セキュリティの強化: ユーザー モード アプリケーションは、重要なシステム リソースに直接アクセスしたり、特権命令を実行したりすることはできません。 そのため、ドライバーのセキュリティ違反によってカーネルの整合性が損なわれることはありません。

  3. 開発の簡略化: ユーザー モード ドライバーは、開発者のワークフローを強化できます。 クラッシュ後にテスト マシンが再起動するのを待つ必要はありません。また、開発とテストに同じマシンを使用することで、デプロイを迅速に行うことができます。

  4. イノベーションと柔軟性の向上: カーネル モード ドライバー開発の制約により、多くの場合、イノベーションが制限されます。 ユーザー モード ドライバーは、より柔軟な環境を提供します。開発者は、カーネル モードでの実装に互換性がない、または困難な高度な機能やツールを使用できます。

ユーザー モードの NetAdapterCx の制限事項

現在、次の機能は、KMDF ベースの NetAdapterCx ドライバーでのみ使用できます。

ダイレクト メモリ アクセス (DMA)

DMA はまだユーザー モードでは使用できません。

UMDF ドライバーは、NET_ADAPTER_RX_CAPABILITIESで DmaCapabilities メンバー設定し、NET_ADAPTER_TX_CAPABILITIESを NULL に設定する必要があります。

クライアント側バッファーの割り当て

クライアント側 のネットワーク データ バッファー管理 は、ユーザー モードでは使用できません。 UMDF NetAdapterCx ドライバーは、送信および受信データ パスのデータ バッファーを割り当てるためにシステムに依存する必要があります。

UMDF ドライバーが 、NET_ADAPTER_RX_CAPABILITIES 構造体を使用してハードウェア データ バッファー機能をアドバタイズするときは、次の必要があります。

KMDF NetAdapterCx ドライバーを UMDF に変換する

ユーザー モードで動作するには、クライアント ドライバーは UMDF の一部であるコア WDF API のみを使用する必要があります。 たとえば、クライアント ドライバーでは、 KMDF ドライバー専用の API を使用しないでください。

KMDF NetAdapterCx ドライバーを UMDF に変換するには、「 KMDF ドライバーを UMDF 2 ドライバーに変換する方法」の手順に従います。

NetAdapterCx の UMDF バージョンと KMDF バージョンは、同じ メジャー バージョン番号を共有します。