NetAdapterCx オブジェクトの概要
次の図は、NetAdapterCx オブジェクトの既定の親子関係を示しています。 親オブジェクトは図の一番上にあるため、たとえば、NETADAPTER オブジェクトは既定で WDFDEVICE オブジェクトの子になります。 複数のインスタンスを持つことができるオブジェクトは、二重のボックスで示されます。
WDFDEVICE オブジェクトは、デバイスを表す標準の framework object です。 NETADAPTER オブジェクトは、すべてのネットワーク I/O のエンドポイントであるネットワーク インターフェイスを表します。 WDFDEVICE ごとに複数の NETADAPTER オブジェクトを持つことができ、WDFDEVICE は、各 NETADAPTER の親オブジェクトになります。
ほとんどのネットワーク インターフェイス カード (NIC) ドライバーは、物理デバイス用に 1 つの NETADAPTER しか持ちませんが、複数のスロットを持つサーバー NIC を管理する場合は、一部のクライアント ドライバーで複数の NETADAPTER を持つものがあります。 たとえば、モバイル ブロードバンド (MBB) WDF クラス拡張機能 (MBBCx) クライアント ドライバーは、それぞれが追加のパケット データ プロトコル (PDP) コンテキストを表す複数の NETADAPTER オブジェクトを管理する場合があります。
NETADAPTER オブジェクトは、クライアント ドライバーの EVT_WDF_DRIVER_DEVICE_ADD コールバック関数内から、NetAdapterInitAllocate と NetAdapterCreate を呼び出して初期化および作成する必要があります。 次に、ドライバーの EVT_WDF_DEVICE_PREPARE_HARDWARE コールバック関数内から NetAdapterStart を呼び出して開始する必要があります。 NetAdapterStart を呼び出す前に、ドライバーは必要に応じて、リンク層機能、電源機能、データパス機能、受信スケーリング機能、ハードウェア オフロード機能などのアダプターの機能を設定できます。
NET_PACKET オブジェクトと NET_FRAGMENT オブジェクト間の関係の詳細については、「パケット記述子と拡張」を参照してください。 NET_RING オブジェクトの詳細については、「ネットリングの概要」を参照してください。