次の方法で共有


OID_GEN_CURRENT_PACKET_FILTER

クエリとして、OID_GEN_CURRENT_PACKET_FILTER OID は、ミニポート ドライバーからの表示を受信しているネット パケットの種類を報告します。

セットとして、OID_GEN_CURRENT_PACKET_FILTER OID は、プロトコルがミニポート ドライバーから表示を受信するネット パケットの種類を指定します。

バージョン情報の

Windows Vista 以降のバージョンの Windows を する
サポート。

NDIS 6.0 以降のミニポート ドライバーの
必須。 (「解説」セクションを参照)

NDIS 5.1 ミニポート ドライバーの
必須。

Windows XP の
サポート。

NDIS 5.1 ミニポート ドライバーの
必須。

備考

NDIS 6.0 以降のミニポート ドライバーの場合、クエリは要求されず、セットは必須です。 NDIS は、ミニポート ドライバーのクエリを処理します。 ミニポート ドライバーは、初期化中にパケット フィルター情報を報告します。

ミニポート ドライバーは、システムがフィルター ライブラリを提供する 1 つとして、その中の種類を報告します。 パケット フィルターは、OR 操作を使用して、次の型を包括的に結合します。

NDIS_PACKET_TYPE_DIRECTED
転送されたパケット。 ダイレクト パケットには、NIC のステーション アドレスと同じ宛先アドレスが含まれています。

NDIS_PACKET_TYPE_MULTICAST
マルチキャスト アドレス 一覧のアドレスに送信されるマルチキャスト アドレス パケット。

プロトコル ドライバーは、マルチキャストまたは機能アドレス パケットの種類を指定することで、イーサネット (802.3) マルチキャスト パケットを受信できます。 マルチキャスト アドレス一覧または機能アドレスを設定すると、NIC ドライバーで有効にするマルチキャスト アドレス グループが決まります。

NDIS_PACKET_TYPE_ALL_MULTICAST
マルチキャスト アドレス 一覧に列挙されたマルチキャスト アドレス パケットだけでなく、すべてのマルチキャスト アドレス パケット。

NDIS_PACKET_TYPE_BROADCAST
パケットをブロードキャストします。

NDIS_PACKET_TYPE_PROMISCUOUS
VLAN フィルタリングが有効かどうか、および VLAN 識別子が一致するかどうかに関係なく、すべてのパケットを指定します。

NDIS_PACKET_TYPE_ALL_FUNCTIONAL
現在の機能アドレス内のパケットだけでなく、すべての機能アドレス パケット。

NDIS_PACKET_TYPE_ALL_LOCAL
インストールされているプロトコルによって送信されるすべてのパケットと、特定の NdisBindingHandle によって識別される NIC によって示されるすべてのパケット。

NDIS_PACKET_TYPE_FUNCTIONAL
現在の機能アドレスに含まれるアドレスに送信される機能アドレス パケット。

NDIS_PACKET_TYPE_GROUP
現在のグループ アドレスに送信されるパケット。

NDIS_PACKET_TYPE_MAC_FRAME
トークン リング NIC が受信する NIC ドライバー フレーム。

NDIS_PACKET_TYPE_SMT
FDDI NIC が受信する SMT パケット。

NDIS_PACKET_TYPE_SOURCE_ROUTING
すべての送信元ルーティング パケット。 プロトコル ドライバーがこのビットを設定する場合、NDIS ライブラリは、ソース ルーティング ブリッジとして動作しようとします。

メディアの種類が NdisMedium802_3 または NdisMedium802_5であるミニポート アダプターの場合、NDIS は、NdisOpenAdapterEx 関数の呼び出し中にマルチキャストアドレスと機能アドレスと共に、パケット受信を無効にします。

他のすべてのメディアの種類のミニポート アダプターの場合、プロトコル ドライバーは、NdisOpenAdapterEx 呼び出し中にいつでもパケットの受信を開始できます。 プロトコルは、NdisOpenAdapterEx が返 前にパケットを受信できることに注意してください。 一般に、パケット フィルター処理はベスト エフォートであり、パケット フィルターが 0 の場合でも受信通知を処理するためにプロトコル ドライバーを準備する必要があります。

クエリの場合、NDIS は、OR 演算子を使用して結合されたバインド フィルターを返します。

セットの場合、指定されたパケット フィルターは、バインディングの前のパケット フィルターを置き換えます。 ミニポート ドライバーが以前にパケットの種類を有効にしたが、プロトコル ドライバーが新しいフィルターでその種類を指定していない場合、プロトコル ドライバーはこの種類のパケットを受信しません。

ミニポート アダプターのメディアの種類が NdisMedium802_3 または NdisMedium802_5、ミニポート ドライバーがこのクエリに応答して特定のパケットの種類のビットを設定しない場合、プロトコル ドライバーは、その種類のパケットを受信しません。 そのため、プロトコル ドライバーは、NdisOidRequest を呼び出すか、または 0 のフィルターを使用して NdisCoOidRequest関数をすることによって、パケット受信を無効にすることができます。

他のすべてのメディアの種類を持つミニポート アダプターの場合、NDIS はパケットの種類を確認しません。 これらのメディアの種類では、プロトコル ドライバーは、0 のフィルターを指定してパケット受信を無効にできません。

ミニポート ドライバーの ミニポートInitializeEx 関数が呼び出されると、ミニポート ドライバーのパケット フィルターを 0 に設定する必要があります。 パケット フィルターが 0 の場合、受信インジケーターは無効になります。 ミニポート ドライバーの ミニポートInitializeEx 関数が返された後、プロトコル ドライバーは、0 以外の値にOID_GEN_CURRENT_PACKET_FILTERを設定できます。これにより、ミニポート ドライバーは、そのプロトコルに受信したパケットを示すことができます。

NDIS_PACKET_TYPE_PROMISCUOUS ビットで無差別モードが有効になっている場合、プロトコル ドライバーは、送信ネットワーク ノードがパケットを送信しない場合でもパケットを受信し続けます。 その後、NDIS は、NIC が受信するすべてのパケットをプロトコル ドライバーを送信します。

特定のパケット フィルターを設定しても、同じ NIC にバインドされている (またはそれ以上) 他のプロトコル ドライバーのパケット フィルターは変更されません。 たとえば、1 つのバインドされたプロトコルで無差別モードが有効な場合、他のバインドされたプロトコル ドライバーは、独自のパケット フィルターで明示的に要求されていないパケットを受信しません。

Native 802.11 パケット フィルター

ネイティブ 802.11 ミニポート ドライバーは、次の標準的なパケット フィルターの種類のみをサポートする必要があります。

  • NDIS_PACKET_TYPE_DIRECTED

  • NDIS_PACKET_TYPE_MULTICAST

  • NDIS_PACKET_TYPE_BROADCAST

  • NDIS_PACKET_TYPE_PROMISCUOUS

有効にすると、これらの標準パケット フィルターは 802.11 データ パケットにのみ適用されます。

さらに、ネイティブ 802.11 ミニポート ドライバーは、ネイティブ 802.11 メディアに固有の次のパケット フィルターの種類をサポートする必要があります。

NDIS_PACKET_TYPE_802_11_RAW_DATA
802.11 メディア アクセス制御 (MAC) プロトコル データ ユニット (MPDU) フレーム。このフレームには、802.11 ステーションで受信した形式のすべてのデータが含まれます。 このフィルターが設定されている場合、ドライバーは、MPDU フラグメントから再構成された MAC サービス データ ユニット (MSDU) パケットを示す前に、変更されていないすべての MPDU フラグメントを示す必要があります。

MPDU フラグメントが暗号化されている場合は、指定する前にフラグメントの暗号化を解除しないでください。 ただし、ミニポート ドライバーは、再アセンブルし、MSDU パケットを示す前に、各 MPDU フラグメントを復号化する必要があります。

有効にすると、このフィルターの種類は、NDIS_PACKET_TYPE_DIRECTEDやNDIS_PACKET_TYPE_BROADCASTなどの他の標準パケット フィルターにのみ影響します。

生の 802.11 データ パケットを示す方法の詳細については、「未加工 802.11 パケットのを示す」を参照してください。

NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT
802.11 管理パケットを指示しました。 ダイレクト パケットには、NIC のステーション アドレスと同じ宛先アドレスが含まれています。

NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT
マルチキャスト アドレス一覧のアドレスに送信されるマルチキャスト 802.11 管理パケット。

NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT
802.11 MAC ヘッダーの宛先アドレスがマルチキャスト アドレスリストにあるかどうかに関係なく、802.11 ステーションによって受信されるすべてのマルチキャスト 802.11 管理パケット。

NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT
802.11 局が受信した 802.11 管理パケットをブロードキャストします。

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT
802.11 ステーションによって受信されたすべての 802.11 管理パケット。

NDIS_PACKET_TYPE_802_11_RAW_MGMT
802.11 MPDU 管理フレーム。802.11 ステーションで受信した形式のすべてのデータが含まれます。 このフィルターが設定されている場合、ドライバーは、MPDU フラグメントから再構成された MAC 管理プロトコル データ ユニット (MMPDU) パケットを示す前に、変更されていないすべての MPDU フラグメントを示す必要があります。

有効にした場合、このフィルターの種類は、NDIS_PACKET_TYPE_802_11_DIRECTED_MGMTやNDIS_PACKET_TYPE_802_11_MULTICAST_MGMTなど、他の 802.11 管理パケット フィルターにのみ影響します。

生の 802.11 管理パケットを示す方法の詳細については、未加工 802.11 パケット を示すを参照してください。

NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL
ダイレクト 802.11 コントロール パケット。 ダイレクト パケットには、NIC のステーション アドレスと同じ宛先アドレスが含まれています。

NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL
ブロードキャスト 802.11 は 802.11 ステーションによって受信されるパケットを制御します。

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL
すべての 802.11 は、802.11 ステーションによって受信されたパケットを制御します。

ミニポート ドライバーがネイティブ 802.11 ネットワーク モニター (NetMon) または拡張可能なアクセス ポイント (AP) モードで動作している場合、ドライバーは、OID_GEN_CURRENT_PACKET_FILTERのセット要求を通じて次のパケット フィルターを有効にする必要があります。

  • NDIS_PACKET_TYPE_PROMISCUOUS

  • NDIS_PACKET_TYPE_802_11_RAW_DATA

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT

  • NDIS_PACKET_TYPE_802_11_RAW_MGMT

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL

NetMon 以外の他のネイティブ 802.11 モードで動作しているミニポート ドライバーは、NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRLを除き、これらのパケット フィルター設定を有効にすることはできません。 NetMon モードで動作していないミニポート ドライバーは、必要に応じて、OID_GEN_CURRENT_PACKET_FILTERのセット要求を通じてNDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRLを有効にすることができます。

ミニポート ドライバーが NetMon 以外のネイティブ 802.11 モードにあり、OID_GEN_CURRENT_PACKET_FILTERが設定されている場合、OID データで無差別または未加工のフィルター設定が有効になっている場合、ドライバーはセット要求を失敗させてはなりません。

NetMon および ExtAP の動作モードの詳細については、次のトピックを参照してください。

ネットワーク モニター操作モードの

拡張可能なアクセス ポイント操作モードの

必要条件

ヘッダ

Ntddndis.h (Ndis.h を含む)

関連項目

ミニポートInitializeEx

NdisCoOidRequest

NdisOidRequest

NdisOpenAdapterEx