Функция WTSVirtualChannelOpenEx (wtsapi32.h)
Создает виртуальный канал таким образом, как WTSVirtualChannelOpen.
Этот API поддерживает создание как статического виртуального канала (SVC), так и динамического виртуального канала (DVC). Если параметр flags равен нулю, он ведет себя так же, как WTSVirtualChannelOpen. DVC можно открыть, указав соответствующий флаг. После создания DVC можно использовать те же функции для чтения, записи, запроса или закрытия, которые используются для SVC.
Синтаксис
HANDLE WTSVirtualChannelOpenEx(
[in] DWORD SessionId,
[in] LPSTR pVirtualName,
[in] DWORD flags
);
Параметры
[in] SessionId
Идентификатор сеанса служб удаленных рабочих столов. Чтобы указать текущий сеанс, укажите WTS_CURRENT_SESSION. Функцию WTSEnumerateSessions можно использовать для получения идентификаторов всех сеансов на указанном сервере узла сеансов удаленных рабочих столов.
Чтобы иметь возможность открыть виртуальный канал в сеансе другого пользователя, необходимо иметь разрешение Виртуальные каналы. Дополнительные сведения см. в разделе Разрешения служб удаленных рабочих столов. Чтобы изменить разрешения для сеанса, используйте средство администрирования конфигурации служб удаленных рабочих столов.
[in] pVirtualName
В случае SVC указывает на строку, завершающуюся нулевым значением, которая содержит имя виртуального канала. Длина имени SVC ограничена CHANNEL_NAME_LEN символами, не включая завершающее значение NULL.
В случае DVC указывает на строку, завершающуюся значением NULL, которая содержит имя конечной точки прослушивателя. Длина имени DVC ограничена MAX_PATH символами.
[in] flags
Чтобы открыть канал как SVC, укажите ноль для этого параметра. Чтобы открыть канал как DVC, укажите WTS_CHANNEL_OPTION_DYNAMIC.
При открытии DVC можно указать параметр приоритета для передаваемых данных, указав одно из значений WTS_CHANNEL_OPTION_DYNAMIC_PRI_XXX в сочетании со значением WTS_CHANNEL_OPTION_DYNAMIC .
WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS
Отключает сжатие для этого DVC. Это значение необходимо указать в сочетании со значением WTS_CHANNEL_OPTION_DYNAMIC .
WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW (по умолчанию)
Низкий приоритет. Данные будут отправляться с обеих сторон с низким приоритетом. Используйте этот уровень приоритета для блочной передачи всех размеров, где скорость передачи не важна. Почти во всех случаях (95 %) канал должен быть открыт с этим флагом.
WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED
Средний приоритет. Используйте этот уровень приоритета для отправки коротких управляющих сообщений, которые должны иметь приоритет над данными в каналах с низким приоритетом.
WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH
Высокий приоритет. Используйте этот уровень приоритета для данных, которые являются критически важными и напрямую влияют на взаимодействие с пользователем. Размер передачи может отличаться. Данные отображения попадают в эту категорию.
WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL
Приоритет в режиме реального времени. Используйте этот уровень приоритета только в тех случаях, когда передача данных является абсолютно критической. Размер передачи данных должен быть ограничен несколькими сотнями байтов на сообщение.
Возвращаемое значение
Значение NULL при ошибке с набором GetLastError .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | wtsapi32.h |
Библиотека | Wtsapi32.lib |
DLL | Wtsapi32.dll |
Набор API | ext-ms-win-session-wtsapi32-l1-1-0 (представлено в Windows 8) |