Condividi tramite


Funzione WTSVirtualChannelOpenEx (wtsapi32.h)

Crea un canale virtuale in modo simile a WTSVirtualChannelOpen.

Questa API supporta sia la creazione di canale virtuale statico (SVC) che di canale virtuale dinamico (DVC). Se il parametro flags è zero, si comporta come WTSVirtualChannelOpen. È possibile aprire un controllo DVC specificando il flag appropriato. Dopo aver creato un controllo DVC, è possibile usare le stesse funzioni per lettura, scrittura, query o chiusura usate per SVC.

Sintassi

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

Parametri

[in] SessionId

Identificatore di sessione di Servizi Desktop remoto. Per indicare la sessione corrente, specificare WTS_CURRENT_SESSION. È possibile usare la funzione WTSEnumerateSessions per recuperare gli identificatori di tutte le sessioni in un server host sessione Desktop remoto specificato.

Per poter aprire un canale virtuale nella sessione di un altro utente, è necessario disporre dell'autorizzazione Canali virtuali. Per altre informazioni, vedere Autorizzazioni di Servizi Desktop remoto. Per modificare le autorizzazioni per una sessione, usare lo strumento di amministrazione configurazione di Servizi Desktop remoto.

[in] pVirtualName

Nel caso di un SVC, punta a una stringa con terminazione Null contenente il nome del canale virtuale. La lunghezza di un nome SVC è limitata a CHANNEL_NAME_LEN caratteri, senza includere il valore Null di terminazione.

Nel caso di un controllo DVC, punta a una stringa con terminazione Null che contiene il nome dell'endpoint del listener. La lunghezza di un nome DVC è limitata a MAX_PATH caratteri.

[in] flags

Per aprire il canale come SVC, specificare zero per questo parametro. Per aprire il canale come DVC, specificare WTS_CHANNEL_OPTION_DYNAMIC.

Quando si apre una classe DVC, è possibile specificare un'impostazione di priorità per i dati trasferiti specificando uno dei valori WTS_CHANNEL_OPTION_DYNAMIC_PRI_XXX in combinazione con il valore WTS_CHANNEL_OPTION_DYNAMIC .

WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS

Disabilita la compressione per questo DVC. È necessario specificare questo valore in combinazione con il valore WTS_CHANNEL_OPTION_DYNAMIC .

WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW (impostazione predefinita)

A bassa priorità. I dati verranno inviati su entrambi i lati con priorità bassa. Usare questo livello di priorità per i trasferimenti di blocchi di tutte le dimensioni, in cui la velocità di trasferimento non è importante. In quasi tutti i casi (95%) il canale deve essere aperto con questo flag.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED

Priorità media. Usare questo livello di priorità per inviare messaggi di controllo brevi che devono avere priorità sui dati nei canali con priorità bassa.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH

Ad alta priorità. Usare questo livello di priorità per i dati critici e influisce direttamente sull'esperienza utente. Le dimensioni del trasferimento possono variare. I dati visualizzati rientrano in questa categoria.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL

Priorità in tempo reale. Usare questo livello di priorità solo nei casi in cui il trasferimento dei dati è assolutamente critico. Le dimensioni del trasferimento dei dati devono essere limitate a poche centinaia di byte per ogni messaggio.

Valore restituito

NULL in caso di errore con il set GetLastError .

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione wtsapi32.h
Libreria Wtsapi32.lib
DLL Wtsapi32.dll
Set di API ext-ms-win-session-wtsapi32-l1-1-0 (introdotto in Windows 8)

Vedi anche

API del server DVC

Riferimento ai canali virtuali dinamici

WTSVirtualChannelOpen