次の方法で共有


OID_WAN_CO_GET_INFO

OID_WAN_CO_GET_INFO OID は、NIC 上のすべての仮想接続 (VC) に適用される情報を返すミニポート ドライバーを要求します。 この情報は、次のように定義された NDIS_WAN_CO_INFO 構造体で返されます。

    typedef struct _NDIS_WAN_CO_INFO {
         OUT ULONG MaxFrameSize;
         OUT ULONG MaxSendWindow;
         OUT ULONG FramingBits;
         OUT ULONG DesiredACCM;
    } NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;

この構造体のメンバーには、次の情報が含まれています:

MaxFrameSize
ミニポート ドライバーが送受信できる任意のネット パケットの最大フレーム サイズを指定します。 この値は、ミニポート ドライバー独自のフレーミング オーバーヘッドおよび/または PPP HDLC オーバーヘッドを除外する必要があります。 通常、この値は約 1500 です。

ただし、すべての CoNDIS WAN ミニポート ドライバーは、この OID に返される値より 32 バイト大きい内部 MaxFrameSize を使用する必要があります。 たとえば、この OID の 1500 を返す CoNDIS WAN ミニポート ドライバーは、内部的に受け入れて最大 1532 を送信する必要があります。 このようなミニポート ドライバーは、将来のブリッジングと追加のプロトコルを容易にサポートできます。

MaxSendWindow
CoNDIS WAN ミニポート ドライバーが VC で処理できる未処理のパケットの最大数を指定します。 このメンバーは、少なくとも1つに設定する必要があります。

NDISWAN ドライバーは、NDISWAN が送信パケットを保持する前にミニポート ドライバーの MiniportCoSendPackets 関数への送信要求で送信するパケットの数の制限として、このメンバーの値を使用します。 これらのパケットは、ミニポート ドライバーが未処理の送信を完了するまでキューに入れられます。 ミニポートドライバーは、 WAN_CO_LINKPARAMS 構造体の SendWindow メンバーを使用して、ミニポート ドライバーが NdisMCoIndicateStatus に渡すこの値を VC ごとに動的に調整できます。 NDISWAN は、未処理の送信の制限として現在の SendWindow 値を使用します。 ミニポート ドライバーが SendWindow を 0 に設定する場合、NDISWAN は特定の VC のパケットの送信を停止する必要があります。 つまり、ミニポート ドライバーは、送信ウィンドウがシャットダウンされることを指定します。実質的には、NDISWAN からのパケットを受け入れることができないことを指定します。

CoNDIS WAN ミニポート ドライバーは内部的にパケットをキューに入れる必要があるため、 MaxSendWindow の値は理論的に 最大( ULONG) となります。 ただし、このドライバーによって決定された値は、NIC のリンク速度またはハードウェア機能を反映している必要があります。 例えば、ミニポート ドライバーの NIC には常に少なくとも 4 つのパケットの余地がある場合、ミニポート ドライバーは、 MiniportCoSendPackets への受信パケットをすぐにハードウェアに配置できるように、 MaxSendWindow を設定します。

FramingBits
ミニポート ドライバーがサポートするフレーミングの種類を指定するビットマスクを指定する 32 ビット値。 ミニポート ドライバーは、バイナリ OR 演算子を使用して、次の値の組み合わせを指定できます:

RAS_FRAMING
ミニポート ドライバーが古い RAS フレームを検出できる場合にのみ設定します。 以前の RAS フレーミングをサポートしていたレガシ ドライバーのみが、このフラグを設定します。

RAS_COMPRESSION
ミニポート ドライバーが古い RAS 圧縮スキームをサポートしている場合にのみ設定します。

PPP_FRAMING
常に設定する必要があります。 ミニポート ドライバーが、そのメディアタイプの PPP フレームを検出し、サポートできることを示します。

PPP_COMPRESS_ADDRESS_CONTROL
ミニポート ドライバーが PPP アドレスとコントロール フィールドの圧縮をサポートしている場合に設定します。

この LCP オプションがネゴシエートされている場合、NDISWAN はアドレスと制御フィールドを削除します。 X.25 などの一部の WAN メディア タイプでは、このオプションはサポートされていません。

PPP_COMPRESS_PROTOCOL_FIELD
ミニポート ドライバーが PPP プロトコル フィールドの圧縮をサポートしている場合に設定します。

NDISWAN は、この LCP オプションがネゴシエートされている場合、該当するときはプロトコル フィールドから 1 バイトを削除します。

PPP_ACCM_SUPPORTED
ミニポート ドライバーが非同期コントロール文字マッピングをサポートしている場合に設定します。 このビットは、モデムなどの非同期メディアでのみ有効です。 このビットが設定されている場合は、 DesiredACCM メンバーが有効である必要があります。

PPP_MULTILINK_FRAMING
ミニポート ドライバーが IETF RFC 1717 で指定されている複数リンク フレームをサポートしている場合に設定します。

PPP_SHORT_SEQUENCE_HDR_FORMAT
ミニポート ドライバーが IETF RFC 1717 で指定されている複数リンク フレームのヘッダー形式をサポートしている場合に設定します。

SLIP_FRAMING
ミニポート ドライバーが SLIP フレームを検出してサポートできるかどうかを設定します(非同期ミニポート ドライバーのみ)。

SLIP_VJ_COMPRESSION
ミニポート ドライバーが SLIP の Van Jacobsen TCP/IP ヘッダー圧縮をサポートできる場合に設定します。 NDISWAN は、SLIP_VJ_COMPRESSION (16 スロット)をサポートします。 SLIP フレーミングをサポートする非同期メディア(シリアル ミニポート ドライバー)は、このビットを設定する必要があります。

非同期メディアでは、VJ ヘッダー圧縮をサポートするコードを記述する必要はありません。 NDISWAN が対応します。

SLIP_VJ_AUTODETECT
ミニポート ドライバーが SLIP の Van Jacobsen TCP/IP ヘッダー圧縮を自動検出できるか場合に設定します。 NDISWAN は、VJ ヘッダーの圧縮を自動検出します。 非同期メディア(シリアルミニポートドライバ)がSLIPフレーミングをサポートしている場合、このビットを設定する必要があります。

TAPI_PROVIDER
ミニポート ドライバーが TAPI サービス プロバイダー OID をサポートしている場合に設定します。 このビットが設定されていない限り、TAPI OID 呼び出しはミニポート ドライバーに対して行われません。

MEDIA_NRZ_ENCODING
ミニポート ドライバーが NRZ エンコードをサポートしている場合、ISDN などの一部のメディアの種類の PPP の既定値を設定します。 この値は、今後使用するために予約されています。

MEDIA_NRZI_ENCODING
ミニポート ドライバーが NRZI エンコードをサポートしている場合に設定します。 この値は、今後使用するために予約されています。

MEDIA_NLPID
ミニポート ドライバーがフレーム内に NLPID を持ち、設定できる場合に設定します。 この値は、今後使用するために予約されています。

RFC_1356_FRAMING
ミニポート ドライバーが IETF RFC 1356 X.25 と ISDN フレームをサポートしている場合に設定します。 この値は、今後使用するために予約されています。

RFC_1483_FRAMING
ミニポート ドライバーが IETF RFC 1483 ATM 適応レイヤー 5 カプセル化をサポートしている場合に設定します。 この値は、今後使用するために予約されています。

RFC_1490_FRAMING
ミニポート ドライバーが IETF RFC 1490 フレーム リレーフレームをサポートしている場合に設定します。 この値は、今後使用するために予約されています。

NBF_PRESERVE_MAC_ADDRESS
ミニポート ドライバーが下書きの「PPP NETBIOS フレーム制御プロトコル (NBFCP)」で指定されている IETF フレーミングをサポートしている場合に設定します。

SHIVA_FRAMING
NBF_PRESERVE_MAC_ADDRESS に置き換えられます。

PASS_THROUGH_MODE
ミニポート ドライバーが独自のフレーミングを行う場合に設定します。 このフラグが設定されている場合、NDISWAN はフレームを渡し、解釈および変更されません。

ミニポート ドライバーは、各ミニポート ドライバーが OID_WAN_CO_SET_LINK_INFO 要求を受け取るまで、デフォルトの PPP フレーミング モードである必要があります。 ミニポート ドライバーは、サポートする必要があるフレームを自動検出する必要があります。

例えば、古い RAS フレーミングをサポートするミニポート ドライバーは、PPP フレーミングから RAS フレーミングを自動検出する必要があります。 ミニポート ドライバーがデフォルト以外のフレーミング スキームを検出した場合、そのミニポート ドライバーは、そのフレーミングを自動的に新しく検出されたフレーミングに切り替える必要があります。

OID_WAN_CO_GET_LINK_INFO を持つ後続のクエリは、検出されたフレーミングを示す必要があります。 フレーミングがまだ検出されていない場合は、 FramingBits は、返された NDIS_WAN_CO_GET_LINK_INFO 情報の中で 0 である必要があります。

WAN ミニポート ドライバーが、その後、 FramingBits メンバーが 0 である OID_WAN_CO_SET_LINK_INFO で呼び出された場合、ミニポート ドライバーは、各フレームの受信時にフレーミングを自動検出する必要があります。

DesiredACCM
非同期制御文字マップがネゴシエートされます。 このメンバーは、非同期メディアの種類にのみ関連します。

要件

バージョン

Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバーでサポートされています。 Windows XP では NDIS 5.1 ドライバーがサポートされています。

ヘッダー

Ntddndis.h (Ndis.h を含む)

関連項目

NdisMCoIndicateStatus

OID_WAN_CO_GET_LINK_INFO

OID_WAN_CO_SET_LINK_INFO

WAN_CO_LINKPARAMS