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


OID_802_3_ADD_MULTICAST_ADDRESS

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

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

Windows Vista
Поддержанный.

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

Замечания

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

Запрос OID_802_3_ADD_MULTICAST_ADDRESS OID может добавить только один адрес. Чтобы добавить несколько адресов, драйверу, превышающим значение, необходимо выдавать несколько запросов 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_GEN_CURRENT_PACKET_FILTER OID, чтобы задать флаг фильтра пакетов 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. Слишком многоадресный драйвер может несколько раз добавить заданный адрес многоадресной рассылки. Если NDIS завершается первым запросом на добавление заданного многоадресного адреса, NDIS будет успешно выполнять все последующие запросы на добавление этого адреса. Чтобы удалить адрес многоадресной рассылки, добавленный более одного раза, драйверу переопределения необходимо удалить адрес одинаковое количество раз, когда он добавил адрес.

Требования

Заголовок

Ntddndis.h (include 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