DrtCreateIpv6UdpTransport 関数 (drt.h)

DrtCreateIpv6UdpTransport 関数は、IPv6 UDP プロトコルに基づいてトランスポートを作成します。

構文

HRESULT DrtCreateIpv6UdpTransport(
            DRT_SCOPE      scope,
            ULONG          dwScopeId,
            ULONG          dwLocalityThreshold,
  [in, out] USHORT         *pwPort,
  [out]     HDRT_TRANSPORT *phTransport
);

パラメーター

scope

DRT が動作する IPv6 スコープを指定する DRT_SCOPE 列挙。

dwScopeId

スコープが関連付けられているインターフェイスを一意に指定する識別子。

グローバル スコープの場合、このパラメーターは常に "GLOBAL_" ID であり、グローバル スコープのみを使用する場合は省略可能です。 リンク ローカル スコープの場合、このパラメーターは、リンク ローカル スコープが存在するネットワーク インターフェイス カードに関連付けられているインターフェイスを表します。

dwLocalityThreshold

IpV6 アドレスに基づく Locality 情報を近隣ノードのキャッシュ時に使用する方法を指定する識別子。 既定では、DRT は、ローカル コンピューターと共通のプレフィックスを持つ IPv6 アドレスを持つネイバーを優先します。

[in, out] pwPort

ローカル DRT インスタンスによって使用されるポートへのポインター。

[out] phTransport

DRT_SETTINGS構造体で指定された DRT トランスポート ハンドルへのポインター。

戻り値

この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。

リターン コード 説明
E_OUTOFMEMORY
システムは、プロバイダーにメモリを割り当てることができません。
DRT_E_INVALID_PORT
pwPortNULL です
DRT_E_INVALID_TRANSPORT_PROVIDER
hTransportNULL です
DRT_E_INVALID_SCOPE
指定したスコープは、DRT_GLOBAL_SCOPE、DRT_SITE_LOCAL_SCOPE、またはDRT_LINK_LOCAL_SCOPEではありません。
DRT_E_TRANSPORT_UNEXPECTED
予期しないエラーが発生しました。 理由については、TraceError に関するページを参照してください。
 
メモ また、この関数は、 NotifyUnicastIpAddressChangeWSAStartupGetAdaptersAddressessetsockoptWSASocketBindWSAIoctlCreateThreadpoolIoCreateThreadpoolCleanupGroupCreateTimerQueue の基になる呼び出しからエラーを返す場合もあります。
 

解説

この関数によって作成される既定の IPv6 UDP トランスポートは、作成対象の DRT に固有です。 その結果、複数の DRT で再利用することはできません。

Service Pack 2 (SP2) で Windows XP の分散ルーティング テーブル API を使用する場合、 DrtCreateIpv6UdpTransport を使用したトランスポートの作成を成功させるには、IPv6 プロトコルのサポートを有効にする必要があります。

要件

   
サポートされている最小のクライアント Windows 7 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー drt.h
Library Drttransport.lib
[DLL] Drt.dll

関連項目

DRT_SETTINGS

DrtDeleteIpv6UdpTransport