OID_802_3_ADD_MULTICAST_ADDRESS
セット要求として、NDIS および上位のプロトコル ドライバーは、OID_802_3_ADD_MULTICAST_ADDRESS OID 要求を使用して、802.3 マルチキャストアドレスをミニポート アダプターのマルチキャスト アドレス リストに追加します。 マルチキャスト アドレスは 6 バイトの配列です。 アドレスを追加すると、そのアドレスでマルチキャスト パケットを受信できます。
バージョン情報
NDIS 6.0 以降のミニポート ドライバー
要求されていません。
解説
NDIS_OID_REQUEST 構造の InformationBuffer メンバーには、マルチキャスト アドレス リストに追加する 6 バイト のアドレスが含まれています。
OID_802_3_ADD_MULTICAST_ADDRESS OID 要求で追加できるアドレスは 1 つだけです。 複数のアドレスを追加するには、上位ドライバーが複数の OID_802_3_ADD_MULTICAST_ADDRESS OID 要求を発行する必要があります。
NDIS ミニポート ドライバーは、この OID 要求を直接受信しません。 その代わりに、NDIS は、OID_802_3_ADD_MULTICAST_ADDRESS と OID_802_3_DELETE_MULTICAST_ADDRESS OID 要求の各シーケンスを、1 つの OID_802_3_MULTICAST_LIST OID 要求に統合し、ミニポート ドライバーに送信します。
マルチキャスト パケットを受信するには、上位ドライバーは、OID_GEN_CURRENT_PACKET_FILTER OID を使用して、パケット フィルター NDIS_PACKET_TYPE_MULTICAST フラグを設定する必要があります。
ミニポート ドライバーは、マルチキャスト アドレスリストに含めることができるマルチキャスト アドレスの数の制限を設定できます。 マルチキャスト アドレスの最大数を指定するには、ミニポート ドライバーは、NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 構造の MaxMulticastListSize メンバーを設定し、NdisMSetMiniportAttributes 関数に渡します。 NDIS 6.0 より前の NDIS バージョンに基づくミニポート ドライバーの場合、NDIS は、OID_802_3_MAXIMUM_LIST_SIZE OID 要求を送信することによってマルチキャスト アドレスの最大数を照会します。 NDIS は、 OID_802_3_ADD_MULTICAST_ADDRESS 要求がこの制限を超えた場合に、NDIS_STATUS_MULTICAST_FULL を返します。
以前に追加したマルチキャスト アドレスを削除するには、OID_802_3_DELETE_MULTICAST_ADDRESS OID でセット要求を行います。 上位のドライバーは、指定されたマルチキャスト アドレスを複数回追加できます。 NDIS が特定のマルチキャスト アドレスの最初の追加要求に成功した場合、NDIS は、そのアドレスに対するそれ以降のすべての追加要求に成功します。 複数回追加されたマルチキャスト アドレスを削除するには、上位のドライバーは、アドレスを追加したのと同じ回数だけアドレスを削除する必要があります。
要件
ヘッダー |
Ntddndis.h (Ndis.h を含む) |
関連項目
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES