OID_802_3_DELETE_MULTICAST_ADDRESS
В качестве заданного запроса драйверы протоколов NDIS и overlying используют OID OID_802_3_DELETE_MULTICAST_ADDRESS для удаления ранее добавленного адреса многоадресной рассылки из списка адресов многоадресной рассылки адаптера минипорта. Адрес многоадресной рассылки представляет собой массив из 6 байт. Удаление адреса отключает этот адрес, чтобы он больше не смог получать пакеты многоадресной рассылки.
Сведения о версии
Драйверы NDIS 6.0 и более поздних версий miniport
Не запрашивается.
Комментарии
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит 6-байтовый адрес, удаляемый из списка адресов многоадресной рассылки.
Запрос OID_802_3_DELETE_MULTICAST_ADDRESS OID может удалить только один адрес. Чтобы удалить несколько адресов, драйвер протокола должен выдать несколько OID_802_3_DELETE_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_802_3_MULTICAST_LIST OID.
Чтобы добавить адрес в список, драйвер протокола может использовать запрос OID_802_3_ADD_MULTICAST_ADDRESS OID.
Драйвер протокола overlying может добавить заданный адрес многоадресной рассылки несколько раз, отправляя несколько запросов OID_802_3_ADD_MULTICAST_ADDRESS OID. Если NDIS успешно выполнит первый запрос на добавление для заданного адреса многоадресной рассылки, NDIS выполнит все последующие запросы на добавление для этого адреса. Чтобы удалить адрес многоадресной рассылки, который был добавлен более одного раза, драйвер с избыточной рассылкой должен удалить адрес так же, как и адрес.
Коды состояния возврата
Функция MiniportOidRequest драйвера miniport возвращает одно из следующих значений для этого запроса:
Термин | Описание |
---|---|
NDIS_STATUS_SUCCESS |
Драйвер мини-порта успешно выполнил запрос. |
NDIS_STATUS_PENDING |
Драйвер мини-порта выполнит запрос асинхронно. После того как драйвер мини-порта завершит всю обработку, он должен успешно выполнить запрос, вызвав функцию NdisMOidRequestComplete , передав NDIS_STATUS_SUCCESS для параметра Status . |
NDIS_STATUS_NOT_ACCEPTED |
Драйвер минипорта сбрасывается. |
NDIS_STATUS_REQUEST_ABORTED |
Драйвер мини-порта остановил обработку запроса. Например, NDIS вызывает функцию MiniportResetEx . |
Требования
Заголовок |
Ntddndis.h (включая Ndis.h) |