次の方法で共有


!ndiskd.netrb

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

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

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

パラメーター

-ハンドル
必須。 NET_RING_BUFFERのアドレス。

-基本的な
基本情報を表示します。

-ダンプ
NET_RING_BUFFER内の各要素に関する情報を表示します。

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

DLL

Ndiskd.dll

例示

手記 NetAdapterCx 内の他のオブジェクト とNET_RING_BUFFER オブジェクトの関係を説明する図については、「オブジェクトの概要」を参照してください。

NET_RING_BUFFERのハンドルを取得するには、次の手順に従います。

  1. !ndiskd.netadapter 拡張機能を実行します。
  2. NetAdapterCx ドライバーがインストールされている NetAdapter のハンドルをクリックします。
  3. NetAdapter の NETADAPTER オブジェクトの右側にある [詳細情報] リンクをクリックして 、!ndiskd.cxadapter 拡張機能を実行します。
  4. NETADAPTER のデータパス キューを確認するには、-datapath パラメーターを指定して !ndiskd.cxadapter コマンドを入力します。
  5. いずれかのデータパス キューのハンドルをクリックします。

この手順の手順 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 コマンドを入力すると、このNET_RING_BUFFERの詳細 (含まれる要素の数、Begin インデックスと End インデックスのアドレスなど) を確認できます。

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の要素を表示するには、詳細の下部にある [すべての要素を一覧表示] リンクをクリックするか、コマンド ラインで !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