次の方法で共有


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

コストまたはデータ プランの状態変更通知に登録する宛先 IPv4/IPv6 アドレスの一覧を含む NLM_SOCKADDR 構造体。

bAppend

true の場合、 pDestIPAddrList は既存のアドレス一覧に追加されます。そうしないと、既存のリストが上書きされます。

戻り値

成功したS_OKを返します。それ以外の場合は、HRESULT エラー コードが返されます。

リターン コード 説明
E_INVALIDARG
次のいずれかが発生した場合に返されます。
  • length は 0 です。
  • length が NLM_MAX_ADDRESS_LIST_SIZE(10) より大きい
  • bAppend はVARIANT_TRUEですが、 length の値が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)
このメソッドは、IConnectionPoint::Advise を呼び出して INetworkCostManagerEvents に登録した後に呼び出されました。 詳細については、「解説」を参照してください。

注釈

このメソッドは、 IConnectionPoint::Advise の前に呼び出す必要があります。 IConnectionPoint::Advise が呼び出されると、最後のシンクで IConnectionPoint::UnAdvise が呼び出されるまで、このメソッドは正常に完了しません。 ただし、このメソッドは 、IConnectionPoint::Advise の呼び出しの前に複数回呼び出すことができます。

pDestIPAddrList によって示される宛先アドレスの一覧に重複するアドレスが含まれている場合は、それぞれ 1 つだけを使用してコストの変更を通知します。 呼び出し元は、 長さが 0、 destIPAddrList が NULL、 bAppend が FALSE に設定されたこの関数を呼び出すことで、宛先の一覧をクリアできます。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー サポートなし
対象プラットフォーム Windows
ヘッダー netlistmgr.h

こちらもご覧ください

IConnectionPoint::Advise

IConnectionPoint::UnAdvise

INetworkCostManager