Share via


VpnChannel Kelas

Definisi

Menyediakan metode untuk membuat dan menghancurkan saluran VPN, dan metode untuk melakukan manajemen buffer. Saluran VPN adalah objek dalam sistem yang menautkan aliran data lalu lintas jaringan antara soket server VPN plug-in VPN dan tumpukan jaringan komputer klien.

public ref class VpnChannel sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class VpnChannel final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class VpnChannel
Public NotInheritable Class VpnChannel
Warisan
Object Platform::Object IInspectable VpnChannel
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
Kemampuan aplikasi
networkingVpnProvider

Keterangan

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1803 17134 AddAndAssociateTransport
1803 17134 CurrentRequestTransportContext
1803 17134 GetSlotTypeForTransportContext
1803 17134 ReplaceAndAssociateTransport
1803 17134 StartReconnectingTransport
1803 17134 StartWithTrafficFilter(IEnumerable<HostName,IEnumerable<> HostName,VpnInterfaceId,VpnRouteAssignment,VpnDomainNameAssignment,UInt32,UInt32,Boolean,IEnumerableIEnumerable<> Object,VpnTrafficFilterAssignment>)

Properti

Configuration

Mendapatkan atau mengatur objek VpnChannelConfiguration yang sesuai dengan konfigurasi VpnChannel dan yang menentukan cara membangun komunikasi dengan server VPN.

CurrentRequestTransportContext

Mendapatkan objek konteks transportasi yang digunakan, misalnya nama host atau server.

Id

Mendapatkan ID instans unik saluran VPN. Ini dapat digunakan untuk menyederhanakan operasi demuxing antara dua instans koneksi VPN.

PlugInContext

Mendapatkan atau mengatur objek konteks yang dapat digunakan plug-in VPN untuk mengaitkan status internal mereka dengan objek VpnChannel untuk digunakan nanti saat sesi sedang berlangsung.

SystemHealth

Mendapatkan pernyataan kesehatan komputer klien.

Metode

ActivateForeground(String, ValueSet)

Mengaktifkan aplikasi VPN di latar depan. Ini sering digunakan untuk membiarkan pengguna memasukkan kredensial. Anda dapat memanggil ActivateForeground hanya dari implementasi IVpnPlugin.Connect Anda. Saat aplikasi berada di latar depan, batas waktu Connect reguler dijeda.

Panggilan ActivateForeground akan dibatalkan jika ada jeda panjang (sekitar 10 menit). Jika tidak dapat diluncurkan, maka plugin idealnya harus mendukung metode autentikasi yang tidak memerlukan antarmuka pengguna (UI).

Dimaksudkan untuk mendukung skema autentikasi berbasis web seperti autentikasi Security Assertion Markup Language (SAML) dan Azure Active Directory (AAD).

AddAndAssociateTransport(Object, Object)

Menyiapkan, menandai, dan membuat transportasi untuk digunakan oleh kerangka kerja VPN sebagai tautan transportasi yang mengomunikasikan plug-in VPN ke server VPN. Panggilan ini harus dilakukan sebelum operasi lain yang terkait dengan API kerangka kerja VPN.

AppendVpnReceivePacketBuffer(VpnPacketBuffer)

Menambahkan objek VpnPacketBuffer penerima ke saluran.

AppendVpnSendPacketBuffer(VpnPacketBuffer)

Menambahkan objek kirim VpnPacketBuffer ke saluran.

AssociateTransport(Object, Object)

Menyiapkan dan menandai transportasi untuk digunakan oleh kerangka kerja VPN sebagai tautan transportasi yang mengomunikasikan plug-in VPN ke server VPN. Panggilan ini harus dilakukan sebelum operasi lain yang terkait dengan API kerangka kerja VPN.

FlushVpnReceivePacketBuffers()

Membersihkan buffer paket penerima tambahan apa pun. Lihat AppendVpnReceivePacketBuffer.

FlushVpnSendPacketBuffers()

Menghapus buffer paket pengiriman tambahan apa pun. Lihat AppendVpnSendPacketBuffer.

GetSlotTypeForTransportContext(Object)

Mengambil jenis slot (perangkat keras atau perangkat lunak) untuk objek konteks transportasi yang ditentukan.

GetVpnReceivePacketBuffer()

Meminta objek VpnPacketBuffer dari kumpulan buffer paket terima untuk digunakan dalam dekaplasi atau injeksi paket yang diterima dari server VPN ke tumpukan jaringan lokal

GetVpnSendPacketBuffer()

Mengambil objek VpnPacketBuffer dari kumpulan buffer paket kirim untuk digunakan dalam enkapulasi dan transmisi paket data dari tumpukan jaringan klien ke server VPN.

LogDiagnosticMessage(String)

Menulis pesan diagnostik ke log sistem.

ProcessEventAsync(Object, Object)

Memproses peristiwa VpnChannel yang tertunda.

ReplaceAndAssociateTransport(Object, Object)

Mengganti transportasi yang ada dengan yang baru untuk digunakan oleh kerangka kerja VPN sebagai tautan transportasi yang mengomunikasikan plug-in VPN ke server VPN.

RequestCredentials(VpnCredentialType, Boolean, Boolean, Certificate)

Minta platform VPN untuk mengumpulkan kredensial dari pengguna. Plug-in dapat menentukan jenis dan bentuk kredensial yang akan dikumpulkan. Hasilnya adalah objek yang berisi kredensial utama tergantung pada jenis dan kredensial sekunder untuk kasus perubahan dan kedaluwarsa.

RequestCredentialsAsync(VpnCredentialType)

Meminta platform VPN untuk mengumpulkan kredensial jenis kredensial tertentu dari pengguna.

RequestCredentialsAsync(VpnCredentialType, UInt32)

Meminta platform VPN untuk mengumpulkan kredensial dari pengguna. Plug-in dapat menentukan jenis dan bentuk kredensial yang akan dikumpulkan. Hasilnya adalah objek yang berisi kredensial utama tergantung pada jenisnya, dan kredensial sekunder untuk kasus perubahan dan kedaluwarsa.

RequestCredentialsAsync(VpnCredentialType, UInt32, Certificate)

Platform VPN untuk mengumpulkan kredensial dari pengguna. Jika interaksi pengguna diperlukan untuk mendapatkan kredensial atau persetujuan, platform menyediakan interaksi pengguna yang diperlukan. Plug-in VPN harus meminta kredensial sebelum menggunakan semua jenis kredensial, bahkan jika niatnya adalah untuk tidak memanggil interaksi pengguna untuk itu.

RequestCustomPrompt(IVectorView<IVpnCustomPrompt>)

Tidak didukung.

RequestCustomPromptAsync(IVectorView<IVpnCustomPromptElement>)

Meminta informasi dari pengguna dengan menyajikan perintah. Memungkinkan penggunaan elemen prompt yang dapat dicampur untuk membuat prompt penuh kepada pengguna. Input yang disediakan oleh pengguna dikembalikan ke pemanggil dalam objek yang ditentukan.

RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer)

Meminta IVpnPacketBuffer dari kumpulan yang ditentukan. Ada satu kumpulan IVpnPacketBuffer untuk jalur kirim dan kumpulan IVpnPacketBuffer lainnya untuk jalur penerima.

SetAllowedSslTlsVersions(Object, Boolean)

Tidak didukung.

SetErrorMessage(String)

Tidak didukung.

Start(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnNamespaceAssignment, UInt32, UInt32, Boolean, Object, Object)

Membuat saluran VPN yang akan digunakan oleh plug-in VPN. Ini juga membuat antarmuka jaringan L3 untuk aplikasi di komputer klien untuk dapat melihat jaringan perusahaan.

StartExistingTransports(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean)

Membuat saluran VPN yang akan digunakan oleh plug-in VPN. Ini juga membuat antarmuka jaringan L3 untuk aplikasi di komputer klien untuk dapat melihat jaringan perusahaan.

StartReconnectingTransport(Object, Object)

Sambungkan kembali transportasi soket. Konteks transportasi dan transportasi adalah satu-satunya parameter yang dapat diubah pada koneksi ulang transportasi soket.

Penting

API ini tidak diimplementasikan, dan kami sarankan Anda tidak menyebutnya.

StartWithMainTransport(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object)

Membuat saluran VPN yang akan digunakan oleh plug-in VPN. Ini juga membuat antarmuka jaringan L3 untuk aplikasi di komputer klien untuk dapat melihat jaringan perusahaan.

StartWithTrafficFilter(IIterable<HostName>, IIterable<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, IIterable<Object>, VpnTrafficFilterAssignment)

Membuat saluran VPN untuk jumlah transportasi arbitrer yang akan digunakan oleh plug-in VPN. Ini juga membuat antarmuka jaringan L3 untuk aplikasi di komputer klien untuk dapat melihat jaringan perusahaan. Ini memungkinkan spesifikasi filter lalu lintas untuk digunakan dalam skenario VPN per aplikasi.

StartWithTrafficFilter(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object, Object, VpnTrafficFilterAssignment)

Membuat saluran VPN yang akan digunakan oleh plug-in VPN. Ini juga membuat antarmuka jaringan L3 untuk aplikasi di komputer klien untuk dapat melihat jaringan perusahaan. Ini memungkinkan spesifikasi filter lalu lintas untuk digunakan dalam skenario VPN per aplikasi.

Stop()

Menghancurkan objek saluran VPN yang dibuat sebelumnya. Memisahkan dan menutup koneksi outerTunnelTransport ke server VPN.

TerminateConnection(String)

Memungkinkan plugin VPN untuk menunjukkan pesan kesalahan dan menghentikan upaya koneksi yang dilakukan di dalam metode IVpnPlugin.Connect . Tidak boleh dipanggil pada kasus koneksi ulang.

Acara

ActivityChange

Tidak didukung.

ActivityStateChange

Peristiwa muncul saat status aktivitas saluran telah berubah. Digunakan oleh plug-in VPN untuk menentukan apakah saluran aktif dengan lalu lintas atau diam.

Berlaku untuk