Функция WTSVirtualChannelRead (wtsapi32.h)
Считывает данные из серверной части виртуального канала.
WTSVirtualChannelRead считывает данные, записанные вызовом VirtualChannelWrite в конце клиента виртуального канала.
Синтаксис
BOOL WTSVirtualChannelRead(
[in] HANDLE hChannelHandle,
[in] ULONG TimeOut,
[out] PCHAR Buffer,
[in] ULONG BufferSize,
[out] PULONG pBytesRead
);
Параметры
[in] hChannelHandle
Дескриптор виртуального канала, открытого функцией WTSVirtualChannelOpen .
[in] TimeOut
Указывает время ожидания в миллисекундах. Если значение TimeOut равно нулю, функция WTSVirtualChannelRead немедленно возвращает значение , если нет данных для чтения. Если timeOut имеет значение INFINITE (определено в Winbase.h), функция ожидает неограниченное время, пока не будет считываться данные.
[out] Buffer
Указатель на буфер, который получает фрагмент данных, считываемых с конца сервера виртуального канала. Максимальный объем данных, которые сервер может получить в одном вызове WTSVirtualChannelRead , составляет CHANNEL_CHUNK_LENGTH байтов. Если вызов VirtualChannelWrite клиента записывает большой блок данных, сервер должен выполнить несколько вызовов WTSVirtualChannelRead .
В некоторых случаях службы удаленных рабочих столов помещает структуру CHANNEL_PDU_HEADER в начало каждого блока данных, считываемого функцией WTSVirtualChannelRead . Это произойдет, если клиентская библиотека DLL задает параметр CHANNEL_OPTION_SHOW_PROTOCOL при вызове функции VirtualChannelInit для инициализации виртуального канала. Это также произойдет, если канал является динамическим виртуальным каналом, записанным с помощью метода IWTSVirtualChannel::Write . В противном случае буфер получает только данные, записанные в вызове VirtualChannelWrite .
[in] BufferSize
Указывает размер буфера в байтах. Если фрагменту данных в Buffer предшествует структура CHANNEL_PDU_HEADER , значение этого параметра должно быть не менее CHANNEL_PDU_LENGTH. В противном случае значение этого параметра должно быть не менее CHANNEL_CHUNK_LENGTH.
[out] pBytesRead
Указатель на переменную, которая получает число прочитанных байтов.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ненулевым.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | wtsapi32.h |
Библиотека | Wtsapi32.lib |
DLL | Wtsapi32.Dll |