1

Windows プラットフォーム用のアプリケーションを作成しています。

  • NDIS 仮想ミニポート ドライバー
  • NDIS 中間ドライバー (Windows XP)
  • NDIS 軽量フィルター (LWF) ドライバー (Windows Vista 以降)

Windows 7 で LWF ドライバー用のモバイル ブロードバンドのサポートを取得したいと考えています。NDIS 6.2 を使用します。

  • LWF と Virtual Miniport の両方に INF ファイルがあります。

モバイル ブロードバンド用の My LWF INF ファイルを次のように変更しました: (セクションに " ppip" を追加)FilermediaType

[INSTALL.NDI]

HKR, Ndi, FilterClass, , custom
HKR, Ndi, FilterType, 0x00010001, 0x00000002
HKR, Ndi\Interfaces, UpperRange, , "noupper"
HKR, Ndi\Interfaces, LowerRange, , "nolower"
HKR, Ndi\Interfaces, FilterMediaTypes, , "nolower, ethernet, wan, ppip"
HKR, Ndi, FilterRunType, 0x00010001, 1

そして、私は次のようにNdisWirelssWanfor FilterAttach ( )Function を追加しました:

if (
        (AttachParameters->MiniportMediaType != NdisMedium802_3)
        && (AttachParameters->MiniportMediaType != NdisMediumWan)
        && (AttachParameters->MiniportMediaType != NdisMediumNative802_11)
        && (AttachParameters->MiniportMediaType != NdisMediumWirelessWan)
    ) {
        status = NDIS_STATUS_INVALID_PARAMETER;
        DbgPrintEx(DPFLTR_IHVNETWORK_ID, DPFLTR_TRACE_LEVEL, "!!! [%p] CFilter::Attach(): unsupported medium\n", this);
        goto VExit;
    }

そして、私のミニポート INF ファイルには以下が含まれています。

[MYVNET.ndi]

Characteristics = 0x81 ; NCF_HAS_UI | NCF_VIRTUAL
*IfType = 0x06 ; IF_TYPE_ETHERNET_CSMACD
*MediaType = 0x00 ; NdisMedium802_3
*PhysicalMediaType = 0x0E ; NdisPhysicalMedium802_3

[MYVNET.Reg]

HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

したがって、モバイル ブロードバンド (MB) サポート ドキュメントを検索した後、次の 2 つの論文を入手しました。

https://msdn.microsoft.com/en-us/library/windows/hardware/ff557185(v=vs.85).aspx

https://msdn.microsoft.com/en-us/library/windows/hardware/ff559110(v=vs.85).aspx

NdisSetNblFlag(pNbl, NDIS_NBL_FLAGS_IS_IPV4);
Value = ConvertToNetworkByteOrder(0x0800);
NET_BUFFER_LIST_INFO(pNbl, NetBufferListFrameType) = Value;

これINF fileは正しいですか?このコード スニペットはどこに追加すればよいですか?

  • Filter File netbuffer送受信機能にありますか?
  • またはミニポートのネットバッファ送受信機能にありますか?
4

0 に答える 0