Поделиться через


OID_802_3_ADD_MULTICAST_ADDRESS

В качестве заданного запроса драйверы протоколов NDIS и overlying используют запрос OID_802_3_ADD_MULTICAST_ADDRESS OID, чтобы добавить адрес многоадресной рассылки 802.3 в список адресов многоадресной рассылки адаптера мини-порта. Адрес многоадресной рассылки представляет собой массив из 6 байт. Добавление адреса позволяет ей получать пакеты многоадресной рассылки.

Сведения о версии

Windows Vista
Поддерживается.

Драйверы NDIS 6.0 и более поздних версий miniport
Не запрашивается.

Комментарии

Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит 6-байтовый адрес, добавляемый в список адресов многоадресной рассылки.

Запрос OID_802_3_ADD_MULTICAST_ADDRESS OID может добавить только один адрес. Чтобы добавить несколько адресов, драйвер overlying должен выдавать несколько OID_802_3_ADD_MULTICAST_ADDRESS запросов OID.

Водители мини-порта NDIS не получают этот запрос OID напрямую. Вместо этого NDIS объединяет каждую последовательность OID_802_3_ADD_MULTICAST_ADDRESS и OID_802_3_DELETE_MULTICAST_ADDRESS запросов OID в один запрос OID_802_3_MULTICAST_LIST OID, который отправляется драйверу мини-порта.

Для получения пакетов многоадресной рассылки драйвер должен использовать OID OID_GEN_CURRENT_PACKET_FILTER для установки флага NDIS_PACKET_TYPE_MULTICAST фильтра пакетов.

Драйвер мини-порта может установить ограничение на количество адресов многоадресной рассылки, которые может содержать список адресов многоадресной рассылки. Чтобы указать максимальное число адресов многоадресной рассылки, драйвер мини-порта задает элемент MaxMulticastListSizeструктуры NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES , который передается в функцию NdisMSetMiniportAttributes . Для драйверов мини-портов, основанных на версиях NDIS до NDIS 6.0, NDIS запрашивает максимальное число адресов многоадресной рассылки, отправляя запрос OID_802_3_MAXIMUM_LIST_SIZE OID. NDIS возвращает NDIS_STATUS_MULTICAST_FULL , если запрос OID_802_3_ADD_MULTICAST_ADDRESS превышает это ограничение.

Чтобы удалить ранее добавленный адрес многоадресной рассылки, выполните запрос на набор с OID_802_3_DELETE_MULTICAST_ADDRESS OID. Драйвер overlying может добавить заданный адрес многоадресной рассылки несколько раз. Если NDIS успешно выполнит первый запрос на добавление для заданного адреса многоадресной рассылки, NDIS выполнит все последующие запросы на добавление для этого адреса. Чтобы удалить адрес многоадресной рассылки, который был добавлен более одного раза, драйвер с избыточной рассылкой должен удалить адрес так же, как и адрес.

Требования

Заголовок

Ntddndis.h (включая Ndis.h)

См. также раздел

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OID_REQUEST

NdisMSetMiniportAttributes

OID_802_3_DELETE_MULTICAST_ADDRESS

OID_802_3_MAXIMUM_LIST_SIZE

OID_802_3_MULTICAST_LIST

OID_GEN_CURRENT_PACKET_FILTER