Функция MgmAddGroupMembershipEntry (mgm.h)
Функция MgmAddGroupMembershipEntry уведомляет диспетчер групп многоадресной рассылки о наличии новых получателей для указанных групп в указанном интерфейсе. Получатели могут ограничить набор источников, из которых они должны получать данные многоадресной рассылки, указав диапазон источников.
Протокол многоадресной маршрутизации вызывает эту функцию, когда получает уведомление о наличии получателей для группы многоадресной рассылки в интерфейсе. Протокол должен вызывать эту функцию, чтобы многоадресные данные можно было пересылать через интерфейс.
Синтаксис
DWORD MgmAddGroupMembershipEntry(
[in] HANDLE hProtocol,
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in] DWORD dwIfIndex,
[in] DWORD dwIfNextHopIPAddr,
[in] DWORD dwFlags
);
Параметры
[in] hProtocol
Обработка протокола, полученного при предыдущем вызове MgmRegisterMProtocol.
[in] dwSourceAddr
Указывает исходный адрес, с которого будут получаться данные многоадресной рассылки. Укажите ноль для получения данных из всех источников (приемник с подстановочными знаками для группы); В противном случае укажите IP-адрес источника или исходной сети.
Чтобы указать диапазон исходных адресов, укажите исходную сеть с помощью dwSourceAddr и маску подсети с помощью dwSourceMask.
[in] dwSourceMask
Указывает маску подсети, соответствующую dwSourceAddr. Параметры dwSourceAddr и dwSourceMask используются вместе для определения диапазона источников, из которых следует получать данные многоадресной рассылки.
Укажите ноль для этого параметра, если для dwSourceAddr (приемника с подстановочными знаками) был указан ноль.
[in] dwGroupAddr
Указывает группу многоадресной рассылки, для которой требуется получать данные. Укажите ноль для получения всех групп (получатель с подстановочными знаками); В противном случае укажите IP-адрес группы.
Чтобы указать диапазон адресов группы, укажите адрес группы с помощью dwGroupAddr и маску подсети с помощью dwGroupMask.
[in] dwGroupMask
Указывает маску подсети, соответствующую dwGroupAddr. Параметры dwGroupAddr и dwGroupMask используются вместе для определения диапазона групп многоадресной рассылки.
Укажите ноль для этого параметра, если для dwGroupAddr (приемник с подстановочными знаками) был указан ноль.
[in] dwIfIndex
Указывает интерфейс для добавления членства в группе. Данные многоадресной рассылки для указанных групп будут пересылаться через этот интерфейс.
[in] dwIfNextHopIPAddr
Указывает адрес следующего прыжка, соответствующий индексу, заданному dwIfIndex. Параметры dwIfIndex и dwIfNextHopIPAddr однозначно определяют следующий прыжок в интерфейсах типа "точка — многоточечная". Интерфейс типа "точка — многоточечная" — это подключение, в котором один интерфейс подключается к нескольким сетям. Примеры интерфейсов типа "точка — многоточечная" включают не широковещательные интерфейсы с множественным доступом (NBMA) и внутренний интерфейс, с помощью которого подключаются все клиенты удаленного доступа.
Для широковещательных интерфейсов (таких как интерфейсы Ethernet) или интерфейсов типа "точка — точка", которые идентифицируются только значением dwIfIndex, укажите ноль.
[in] dwFlags
Указывает любую дополнительную обработку, которая должна выполняться при добавлении членства в группе. Допустимые значения:
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращается один из следующих кодов ошибок.
Значение | Значение |
---|---|
|
Не удалось завершить вызов этой функции. |
|
Недопустимый дескриптор протокола. |
|
Недостаточно памяти для выполнения этой операции. |
Комментарии
Эта версия API MGM поддерживает только источники с подстановочными знаками или определенные источники, а не диапазон источников. Такое же ограничение применяется к группам, то есть диапазоны групп не допускаются.
При вызове этой функции диспетчер групп многоадресной рассылки может вызвать обратный вызов PMGM_JOIN_ALERT_CALLBACK , чтобы уведомить другие протоколы маршрутизации о наличии новых получателей для указанной группы.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mgm.h |
Библиотека | Rtm.lib |
DLL | Rtm.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по