Bagikan melalui


Fungsi WTSVirtualChannelRead (wtsapi32.h)

Membaca data dari akhir server saluran virtual.

WTSVirtualChannelRead membaca data yang ditulis oleh panggilan VirtualChannelWrite di akhir klien saluran virtual.

Sintaks

BOOL WTSVirtualChannelRead(
  [in]  HANDLE hChannelHandle,
  [in]  ULONG  TimeOut,
  [out] PCHAR  Buffer,
  [in]  ULONG  BufferSize,
  [out] PULONG pBytesRead
);

Parameter

[in] hChannelHandle

Tangani ke saluran virtual yang dibuka oleh fungsi WTSVirtualChannelOpen .

[in] TimeOut

Menentukan waktu habis, dalam milidetik. Jika TimeOut adalah nol, WTSVirtualChannelRead segera kembali jika tidak ada data untuk dibaca. Jika TimeOut adalah INFINITE (didefinisikan dalam Winbase.h), fungsi menunggu tanpa batas waktu sampai ada data untuk dibaca.

[out] Buffer

Penunjuk ke buffer yang menerima potongan data yang dibaca dari akhir server saluran virtual. Jumlah maksimum data yang dapat diterima server dalam satu panggilan WTSVirtualChannelRead adalah CHANNEL_CHUNK_LENGTH byte. Jika panggilan VirtualChannelWrite klien menulis blok data yang lebih besar, server harus melakukan beberapa panggilan WTSVirtualChannelRead .

Dalam kasus tertentu, Layanan Desktop Jauh menempatkan struktur CHANNEL_PDU_HEADER di awal setiap potongan data yang dibaca oleh fungsi WTSVirtualChannelRead . Ini akan terjadi jika DLL klien mengatur opsi CHANNEL_OPTION_SHOW_PROTOCOL ketika memanggil fungsi VirtualChannelInit untuk menginisialisasi saluran virtual. Ini juga akan terjadi jika saluran adalah saluran virtual dinamis yang ditulis dengan menggunakan metode IWTSVirtualChannel::Write . Jika tidak, buffer hanya menerima data yang ditulis dalam panggilan VirtualChannelWrite .

[in] BufferSize

Menentukan ukuran, dalam byte, buffer. Jika potongan data dalam Buffer akan didahului oleh struktur CHANNEL_PDU_HEADER , nilai parameter ini setidaknya harus CHANNEL_PDU_LENGTH. Jika tidak, nilai parameter ini setidaknya harus CHANNEL_CHUNK_LENGTH.

[out] pBytesRead

Penunjuk ke variabel yang menerima jumlah byte yang dibaca.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Perhatikanbahwa WTSVirtualChannelRead tidak aman untuk utas. Untuk mengakses saluran virtual dari beberapa utas, atau untuk melakukan IO asinkron melalui saluran virtual, gunakan WTSVirtualChannelQuery dengan WTSVirtualFileHandle.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header wtsapi32.h
Pustaka Wtsapi32.lib
DLL Wtsapi32.Dll

Lihat juga

CHANNEL_PDU_HEADER

IWTSVirtualChannel::Write

VirtualChannelWrite

WTSVirtualChannelQuery

WTSVirtualChannelWrite