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


Метод INetworkCostManager::SetDestinationAddresses (netlistmgr.h)

Метод SetDestinationAddresses регистрирует указанные целевые адреса IPv4/IPv6 для получения уведомлений об изменении стоимости или состояния плана данных.

Синтаксис

HRESULT SetDestinationAddresses(
  [in] UINT32       length,
  [in] NLM_SOCKADDR *pDestIPAddrList,
       VARIANT_BOOL bAppend
);

Параметры

[in] length

Число целевых адресов IPv4/IPv6 в списке.

[in] pDestIPAddrList

Структура NLM_SOCKADDR , содержащая список целевых адресов IPv4/IPv6 для регистрации для уведомления об изменении состояния плана данных или затрат.

bAppend

Если задано значение true, pDestIPAddrList будет добавлен в существующий список адресов; В противном случае существующий список будет перезаписан.

Возвращаемое значение

Возвращает S_OK при успешном выполнении, в противном случае возвращается код ошибки HRESULT.

Код возврата Описание
E_INVALIDARG
Возвращается, если происходит одно из следующих действий:
  • длина равна 0.
  • длина больше NLM_MAX_ADDRESS_LIST_SIZE(10)
  • BAppend VARIANT_TRUE, но включение количества подписанных назначений в существующий список со значением длины превышает NLM_MAX_ADDRESS_SIZE.
  • Недопустимый адрес назначения в предоставленном списке.
E_POINTER
destIPAddrList имеет значение NULL.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере отсутствует стек IPv4 или IPv6, но адрес IPv4 или IPv6 был указан destIPAddr.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Этот метод был вызван после регистрации для INetworkCostManagerEvents путем вызова IConnectionPoint::Advise. Дополнительные сведения см. в разделе Примечание.

Комментарии

Этот метод необходимо вызывать до IConnectionPoint::Advise. После вызова IConnectionPoint::Advise этот метод не завершится успешно, пока последний приемник не вызовет IConnectionPoint::UnAdvise. Однако этот метод можно вызывать несколько раз до вызова IConnectionPoint::Advise.

Если список адресов назначения, указанных pDestIPAddrList , содержит повторяющиеся адреса, для уведомления об изменениях затрат будет использоваться только один из них. Вызывающие абоненты могут очистить список назначений, вызвав эту функцию с длиной 0, параметром destIPAddrList — null, а bAppend — false.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header netlistmgr.h

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

IConnectionPoint::Advise

IConnectionPoint::UnAdvise

INetworkCostManager