Condividi tramite


Funzione di callback VIRTUALCHANNELINIT (cchannel.h)

Inizializza l'accesso di una DLL client ai canali virtuali di Servizi Desktop remoto. Il client chiama VirtualChannelInit per registrare i nomi dei relativi canali virtuali.

Servizi Desktop remoto fornisce un puntatore a una funzione VirtualChannelInit nella struttura CHANNEL_ENTRY_POINTS passata al punto di ingresso VirtualChannelEntry .

Sintassi

VIRTUALCHANNELINIT Virtualchannelinit;

UINT VCAPITYPE Virtualchannelinit(
  [in]      LPVOID *ppInitHandle,
  [in, out] PCHANNEL_DEF pChannel,
  [in]      INT channelCount,
  [in]      ULONG versionRequested,
  [in]      PCHANNEL_INIT_EVENT_FN pChannelInitEventProc
)
{...}

Parametri

[in] ppInitHandle

Puntatore a una variabile che riceve un handle che identifica la connessione client. Usare questo handle per identificare il client nelle chiamate successive alla funzione VirtualChannelOpen .

[in, out] pChannel

Puntatore a una matrice di strutture CHANNEL_DEF . Ogni struttura contiene le opzioni di inizializzazione e nome di un canale virtuale aperto dalla DLL client. Si noti che la chiamata VirtualChannelInit non apre questi canali virtuali; riserva solo i nomi per l'uso da parte di questa applicazione.

[in] channelCount

Specifica il numero di voci nella matrice pChannel .

[in] versionRequested

Specifica il livello di supporto del canale virtuale. Impostare questo parametro su VIRTUAL_CHANNEL_VERSION_WIN2000.

[in] pChannelInitEventProc

Puntatore a una funzione VirtualChannelInitEvent definita dall'applicazione che Servizi Desktop remoto chiama per inviare una notifica alla DLL client degli eventi del canale virtuale.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è CHANNEL_RC_OK.

Se si verifica un errore, la funzione restituisce uno dei valori seguenti.

Commenti

È possibile chiamare la funzione VirtualChannelInit solo dalla funzione VirtualChannelEntry . Le chiamate a VirtualChannelInit in qualsiasi altro momento hanno esito negativo.

Quando VirtualChannelInit restituisce correttamente, Servizi Desktop remoto ha registrato i canali richiesti. Tuttavia, Servizi Desktop remoto potrebbero non aver completato altre inizializzazione. Al termine dell'inizializzazione, Servizi Desktop remoto chiama la funzione di callback VirtualChannelInitEvent con l'evento CHANNEL_EVENT_INITIALIZED .

Non è consigliabile fare ipotesi sul numero di canali virtuali disponibili prima di chiamare questa funzione, perché il sistema e altri plug-in potrebbero avere canali virtuali riservati. Pertanto, è consigliabile verificare sempre la presenza di un codice restituito CHANNEL_RC_TOO_MANY_CHANNELS dopo aver chiamato questa funzione.

Quando VirtualChannelInit restituisce, il membro delle opzioni di ogni struttura CHANNEL_DEF include CHANNEL_OPTION_INITIALIZED se il canale è stato inizializzato correttamente.

Il numero massimo di canali per sessione client è CHANNEL_MAX_COUNT.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione cchannel.h

Vedi anche

CHANNEL_DEF

VirtualChannelEntry

VirtualChannelInitEvent