WTSVirtualChannelOpenEx-Funktion (wtsapi32.h)

Erstellt einen virtuellen Kanal ähnlich wie WTSVirtualChannelOpen.

Diese API unterstützt sowohl die Erstellung eines statischen virtuellen Kanals (SVC) als auch die Erstellung eines dynamischen virtuellen Kanals (DVC). Wenn der flags-Parameter null ist, verhält er sich genauso wie WTSVirtualChannelOpen. Ein DVC kann geöffnet werden, indem das entsprechende Flag angegeben wird. Nachdem ein DVC erstellt wurde, können Sie dieselben Funktionen für Lesen, Schreiben, Abfragen oder Schließen verwenden, die für den SVC verwendet werden.

Syntax

HANDLE WTSVirtualChannelOpenEx(
  [in] DWORD SessionId,
  [in] LPSTR pVirtualName,
  [in] DWORD flags
);

Parameter

[in] SessionId

Ein Remotedesktopdienste-Sitzungsbezeichner. Um die aktuelle Sitzung anzugeben, geben Sie WTS_CURRENT_SESSION an. Sie können die FUNKTION WTSEnumerateSessions verwenden, um die Bezeichner aller Sitzungen auf einem angegebenen RD-Sitzungshostserver abzurufen.

Um einen virtuellen Kanal in der Sitzung eines anderen Benutzers öffnen zu können, benötigen Sie die Berechtigung Virtuelle Kanäle. Weitere Informationen finden Sie unter Berechtigungen für Remotedesktopdienste. Um Berechtigungen für eine Sitzung zu ändern, verwenden Sie das Verwaltungstool Remotedesktopdienste-Konfiguration.

[in] pVirtualName

Im Fall eines SVC zeigt auf eine Zeichenfolge mit NULL-Beendigung, die den Namen des virtuellen Kanals enthält. Die Länge eines SVC-Namens ist auf CHANNEL_NAME_LEN Zeichen beschränkt, wobei der abschließende NULL-Wert nicht eingeschlossen wird.

Im Fall eines DVC zeigt auf eine NULL-endende Zeichenfolge, die den Endpunktnamen des Listeners enthält. Die Länge eines DVC-Namens ist auf MAX_PATH Zeichen beschränkt.

[in] flags

Um den Kanal als SVC zu öffnen, geben Sie null für diesen Parameter an. Um den Kanal als DVC zu öffnen, geben Sie WTS_CHANNEL_OPTION_DYNAMIC an.

Beim Öffnen eines DVC können Sie eine Prioritätseinstellung für die übertragenen Daten angeben, indem Sie einen der WTS_CHANNEL_OPTION_DYNAMIC_PRI_XXX-Werte in Kombination mit dem WTS_CHANNEL_OPTION_DYNAMIC-Wert angeben.

WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS

Deaktiviert die Komprimierung für diesen DVC. Sie müssen diesen Wert in Kombination mit dem WTS_CHANNEL_OPTION_DYNAMIC-Wert angeben.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW (Standard)

Niedrige Priorität. Die Daten werden auf beiden Seiten mit niedriger Priorität gesendet. Verwenden Sie diese Prioritätsstufe für Blockübertragungen aller Größen, bei denen die Übertragungsgeschwindigkeit nicht wichtig ist. In fast allen Fällen (95 %) sollte der Kanal mit diesem Flag geöffnet werden.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED

Mittlere Priorität. Verwenden Sie diese Prioritätsstufe, um kurze Kontrollnachrichten zu senden, die Vorrang vor den Daten in den Kanälen mit niedriger Priorität haben müssen.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH

Hohe Priorität. Verwenden Sie diese Prioritätsstufe für Daten, die kritisch sind und sich direkt auf die Benutzererfahrung auswirken. Die Übertragungsgröße kann variieren. Anzeigedaten fallen in diese Kategorie.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL

Echtzeitpriorität. Verwenden Sie diese Prioritätsstufe nur in Fällen, in denen die Datenübertragung absolut kritisch ist. Die Datenübertragungsgröße sollte auf einige hundert Bytes pro Nachricht beschränkt werden.

Rückgabewert

NULL bei Fehler, bei dem GetLastError festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wtsapi32.h
Bibliothek Wtsapi32.lib
DLL Wtsapi32.dll
APIs ext-ms-win-session-wtsapi32-l1-1-0 (eingeführt in Windows 8)

Weitere Informationen

DVC-Server-APIs

Referenz zu dynamischen virtuellen Kanälen

WTSVirtualChannelOpen