Bagikan melalui


Fungsi panggilan balik VIRTUALCHANNELINIT (cchannel.h)

Menginisialisasi akses DLL klien ke saluran virtual Layanan Desktop Jarak Jauh. Klien memanggil VirtualChannelInit untuk mendaftarkan nama saluran virtualnya.

Layanan Desktop Jauh menyediakan penunjuk ke fungsi VirtualChannelInit dalam struktur CHANNEL_ENTRY_POINTS yang diteruskan ke titik masuk VirtualChannelEntry Anda.

Sintaks

VIRTUALCHANNELINIT Virtualchannelinit;

UINT VCAPITYPE Virtualchannelinit(
  [in]      LPVOID *ppInitHandle,
  [in, out] PCHANNEL_DEF pChannel,
  [in]      INT channelCount,
  [in]      ULONG versionRequested,
  [in]      PCHANNEL_INIT_EVENT_FN pChannelInitEventProc
)
{...}

Parameter

[in] ppInitHandle

Penunjuk ke variabel yang menerima handel yang mengidentifikasi koneksi klien. Gunakan handel ini untuk mengidentifikasi klien dalam panggilan berikutnya ke fungsi VirtualChannelOpen .

[in, out] pChannel

Penunjuk ke array struktur CHANNEL_DEF . Setiap struktur berisi opsi nama dan inisialisasi saluran virtual yang akan dibuka DLL klien. Perhatikan bahwa panggilan VirtualChannelInit tidak membuka saluran virtual ini; itu hanya mencadangkan nama untuk digunakan oleh aplikasi ini.

[in] channelCount

Menentukan jumlah entri dalam array pChannel .

[in] versionRequested

Menentukan tingkat dukungan saluran virtual. Atur parameter ini ke VIRTUAL_CHANNEL_VERSION_WIN2000.

[in] pChannelInitEventProc

Arahkan ke fungsi VirtualChannelInitEvent yang ditentukan aplikasi yang dipanggil Layanan Desktop Jauh untuk memberi tahu DLL klien tentang peristiwa saluran virtual.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah CHANNEL_RC_OK.

Jika terjadi kesalahan, fungsi mengembalikan salah satu nilai berikut.

Keterangan

Anda dapat memanggil fungsi VirtualChannelInit hanya dari fungsi VirtualChannelEntry Anda. Panggilan ke VirtualChannelInit di lain waktu gagal.

Ketika VirtualChannelInit berhasil dikembalikan, Remote Desktop Services telah mendaftarkan saluran yang diminta. Namun, Layanan Desktop Jauh mungkin belum menyelesaikan inisialisasi lain. Ketika semua inisialisasi selesai, Layanan Desktop Jauh memanggil fungsi panggilan balik VirtualChannelInitEvent Anda dengan peristiwa CHANNEL_EVENT_INITIALIZED .

Anda tidak boleh membuat asumsi tentang jumlah saluran virtual yang tersedia sebelum memanggil fungsi ini, karena sistem dan plug-in lainnya mungkin telah memesan saluran virtual. Oleh karena itu, Anda harus selalu memeriksa kode pengembalian CHANNEL_RC_TOO_MANY_CHANNELS setelah memanggil fungsi ini.

Saat VirtualChannelInit kembali, anggota opsi dari setiap struktur CHANNEL_DEF menyertakan CHANNEL_OPTION_INITIALIZED jika saluran berhasil diinisialisasi.

Jumlah maksimum saluran per sesi klien adalah CHANNEL_MAX_COUNT.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header cchannel.h

Lihat juga

CHANNEL_DEF

VirtualChannelEntry

VirtualChannelInitEvent