Функция 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)

См. также раздел

Интерфейсы API сервера DVC

Справочник по динамическим виртуальным каналам

WTSVirtualChannelOpen