VpnChannel.Start メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
VPN プラグインによって使用される VPN チャネルを作成します。 また、企業ネットワークを表示できるように、クライアント コンピューター内のアプリケーション用の L3 ネットワーク インターフェイスも作成します。
public:
virtual void Start(IVectorView<HostName ^> ^ assignedClientIPv4list, IVectorView<HostName ^> ^ assignedClientIPv6list, VpnInterfaceId ^ vpnInterfaceId, VpnRouteAssignment ^ routeScope, VpnNamespaceAssignment ^ namespaceScope, unsigned int mtuSize, unsigned int maxFrameSize, bool optimizeForLowCostNetwork, Platform::Object ^ mainOuterTunnelTransport, Platform::Object ^ optionalOuterTunnelTransport) = Start;
/// [Windows.Foundation.Metadata.Overload("Start")]
void Start(IVectorView<HostName> const& assignedClientIPv4list, IVectorView<HostName> const& assignedClientIPv6list, VpnInterfaceId const& vpnInterfaceId, VpnRouteAssignment const& routeScope, VpnNamespaceAssignment const& namespaceScope, uint32_t const& mtuSize, uint32_t const& maxFrameSize, bool const& optimizeForLowCostNetwork, IInspectable const& mainOuterTunnelTransport, IInspectable const& optionalOuterTunnelTransport);
[Windows.Foundation.Metadata.Overload("Start")]
public void Start(IReadOnlyList<HostName> assignedClientIPv4list, IReadOnlyList<HostName> assignedClientIPv6list, VpnInterfaceId vpnInterfaceId, VpnRouteAssignment routeScope, VpnNamespaceAssignment namespaceScope, uint mtuSize, uint maxFrameSize, bool optimizeForLowCostNetwork, object mainOuterTunnelTransport, object optionalOuterTunnelTransport);
function start(assignedClientIPv4list, assignedClientIPv6list, vpnInterfaceId, routeScope, namespaceScope, mtuSize, maxFrameSize, optimizeForLowCostNetwork, mainOuterTunnelTransport, optionalOuterTunnelTransport)
Public Sub Start (assignedClientIPv4list As IReadOnlyList(Of HostName), assignedClientIPv6list As IReadOnlyList(Of HostName), vpnInterfaceId As VpnInterfaceId, routeScope As VpnRouteAssignment, namespaceScope As VpnNamespaceAssignment, mtuSize As UInteger, maxFrameSize As UInteger, optimizeForLowCostNetwork As Boolean, mainOuterTunnelTransport As Object, optionalOuterTunnelTransport As Object)
パラメーター
- assignedClientIPv4list
VPN サーバーによって VPN クライアントに割り当てられた IPv4 アドレスを指定する IVectorView< Windows.Networking.HostName *> ベクターへのポインター。 このアドレスは、VPN L3 インターフェイスで設定する必要があります。 null
- assignedClientIPv6list
VPN サーバーによって VPN クライアントに割り当てられ、VPN L3 インターフェイスで設定する必要がある IPv6 アドレスを指定する、Windows.Networking.HostName 構造体へのポインター。 null
- vpnInterfaceId
- VpnInterfaceId
VpnInterfaceId へのポインター。
- routeScope
- VpnRouteAssignment
VPN インターフェイスに関連付ける必要がある、または関連付けられていないルートを表す Windows.Networking.VpnRouteAssignment クラスへのポインター
- namespaceScope
- VpnNamespaceAssignment
DNS およびプロキシ サーバーを含む、VPN チャネルに関連付けられている名前プレフィックスの一覧を表す Windows.Networking.DomainNameAssignment クラスへのポインター。
- mtuSize
-
UInt32
unsigned int
uint32_t
VPN L3 ネットワーク インターフェイスの MTU サイズを指定する UINT16 値。 これは、受信プール内の IVpnPacketBuffers のサイズでもあります。 この値は最大 1400 に構成する必要があります。
- maxFrameSize
-
UInt32
unsigned int
uint32_t
outerTunnelTransportをカウントせずに、VPN プロトコルカプセル化によって定義されたフレームの最大サイズを指定する UINT16 値。 これは、送信プール内の IVpnPacketBuffers のサイズでもあります。 この値は mtuSize + [カプセル化ヘッダーのサイズ] として構成し、<=1500 にする必要があります。 1500 を超える場合は、プラットフォームでフレームサイズが 1500 に制限されるため、mtuSize またはカプセル化ヘッダー のサイズを小さくする必要があります。
- optimizeForLowCostNetwork
-
Boolean
bool
ブール値、VPN フレームワークが低コストのネットワークを使用可能な状態で監視して使用するかどうかを指定します。 TRUE 場合、VPN フレームワークは、古いネットワークのコストが発生し、新しい低コストのネットワークが使用可能になったときに、VPN プラグインへの connect() コールバックを呼び出して再接続します。
- mainOuterTunnelTransport
-
Object
Platform::Object
IInspectable
ソケット トランスポート用の IInspectable オブジェクト。 このオブジェクトには、Windows.Networking.Sockets.DatagramSocket
- optionalOuterTunnelTransport
-
Object
Platform::Object
IInspectable
ソケット トランスポート用の IInspectable オブジェクト
- 属性
Windows の要件
アプリの機能 |
networkingVpnProvider
|
注釈
関数が成功した場合、戻り値は S_OK。それ以外の場合、関数は特定のエラーを説明するエラー hresult 値を返します。 プラグインが接続されていない場合、エラーは E_ACCESSDENIED。
手記
VPN プラグインとシステム間のアクティビティと相互作用は VPN プロファイルによって制御されるため、接続された VPN プラグインの外部でこの API を呼び出すと失敗します。 VPN プラグインには 1 つの VPN プロファイルしかマップされておらず、呼び出し元が複数のプロファイル オブジェクトを作成する場合、それらはすべて同じ設定を参照するため、プロセスごとに 1 つの VPN プロファイルしか存在できません。
成功すると、outertTunnelTransport の所有権が VPN フレームワークによって転送されます。 同じパラメーターでこのメソッドを複数回呼び出しても効果はありません。 パラメーター値のバリエーションを使用してこのメソッドを複数回呼び出すと、チャネルが最新の値で更新され、他のプロパティが中断されることはありません。
プロセスごとに 1 つの VPN チャネルしか存在しないため、VPN プラグインに割り当てることができる VPN チャネルは 1 つだけです。 mtuSize は、常に maxFrameSize よりも小さくする必要があります。