次の方法で共有


!ndiskd.netrb

!ndiskd.netrb 拡張コマンドは、NET_RING_BUFFER 構造体に関する情報を表示します。

ネットワーク アダプター WDF クラス拡張 (NetAdapterCx) の詳細については、「ネットワーク アダプター WDF クラス拡張 (Cx)」を参照してください。

!ndiskd.netrb -handle <x> [-basic] [-dump] [-elementtype <str>] 

パラメーター

-handle
必須。 NET_RING_BUFFER のアドレス。

-basic
基本情報を表示

-dump
NET_RING_BUFFER の各要素に関する情報を表示します。

-elementtype
リング バッファ要素を参照する際に使用するデータ型の文字列。

DLL

Ndiskd.dll

オブジェクトの概要」を参照して、NET_RING_BUFFER オブジェクトと NetAdapterCx のその他のオブジェクトとの関係を説明する図をご覧ください。

NET_RING_BUFFER のハンドルを取得するには、以下の手順に従ってください。

  1. !ndiskd.netadapter 拡張コマンドを実行します。
  2. NetAdapterCx ドライバーがインストールされている NetAdapter のハンドルをクリックします。
  3. NetAdapter の NETADAPTER オブジェクトの右側にある "More Information" リンクをクリックして !ndiskd.cxadapter 拡張コマンドを実行します。
  4. -datapath パラメーターを使用して、!ndiskd.cxadapter コマンドを入力して NETADAPTERのデータパス キューを表示します。
  5. データパス キューの 1 つのハンドルをクリックします。

この手順のステップ 1 ~ 4 の詳細については、「!ndiskd.cxadapter」トピックの例を参照してください。 この手順のステップ 5 の詳細については、「!ndiskd.netqueue」トピックの例を参照してください。 次の例では、この NETTXQUEUE のリング バッファのハンドル ffffd1022d000000 を探します。

0: kd> !ndiskd.netqueue ffffd1022f512700

    NETTXQUEUE         00002efdd0aed9a8
    Ring buffer        ffffd1022d000000

    Switch to EC thread

    Event Callbacks                        Function pointer   Symbol (if available)
    EvtQueueAdvance                        fffff80034152af8   RtEthSample+2af8
    EvtQueueArmNotification                fffff80034159a94   RtEthSample+9a94
    EvtQueueCancel                         fffff800341598d8   RtEthSample+98d8

リング バッファーのハンドルをクリックするか、またはコマンド ラインで !ndiskd.netrb -handle コマンドを入力すると、含まれている要素の数や、Begin と End インデックスのアドレスなど、この NET_RING_BUFFER の詳細を表示することができます。

0: kd> !ndiskd.netrb ffffd1022d000000

    NET_RING    ffffd1022d000000

    Number of elements 0x080
    Owned by OS        0x080
    Owned by Client    00000

    Begin Index        0x078 (ffffd1022d003c40 - NET_PACKET)
    Next Index         0x078 (ffffd1022d003c40 - NET_PACKET)
    End Index          0x078 (ffffd1022d003c40 - NET_PACKET)

    List all elements

この NET_RING_BUFFERの要素を表示するには、その詳細の下部にある "List all elements" リンクをクリックするか、コマンド ラインで !ndiskd.netrb -dump コマンドを入力します。 次の例では、簡潔にするために中間部分の要素を省いてあります。

0: kd> !ndiskd.netrb ffffd1022d000000 -dump

    [000] ffffd1022d000040 - NET_PACKET
    [001] ffffd1022d0000c0 - NET_PACKET
    [002] ffffd1022d000140 - NET_PACKET
    [003] ffffd1022d0001c0 - NET_PACKET
    [004] ffffd1022d000240 - NET_PACKET
    [005] ffffd1022d0002c0 - NET_PACKET
    
    ...

    [07b] ffffd1022d003dc0 - NET_PACKET
    [07c] ffffd1022d003e40 - NET_PACKET
    [07d] ffffd1022d003ec0 - NET_PACKET
    [07e] ffffd1022d003f40 - NET_PACKET
    [07f] ffffd1022d003fc0 - NET_PACKET

関連項目

ネットワーク ドライバー設計ガイド

Windows Vista 以降のネットワーク リファレンス

ネットワークスタックのデバッグ

NDIS 拡張コマンド (Ndiskd.dll)

!ndiskd.help

ネットワーク アダプター WDF クラス拡張 (Cx)

オブジェクトの概要

NET_RING_BUFFER

!ndiskd.netadapter

!ndiskd.cxadapter

!ndiskd.netqueue