Share via


Fonction de rappel VIRTUALCHANNELINIT (cchannel.h)

Initialise l’accès d’une DLL cliente aux canaux virtuels des services Bureau à distance. Le client appelle VirtualChannelInit pour inscrire les noms de ses canaux virtuels.

Les services Bureau à distance fournissent un pointeur vers une fonction VirtualChannelInit dans la structure CHANNEL_ENTRY_POINTS passée à votre point d’entrée VirtualChannelEntry .

Syntaxe

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
)
{...}

Paramètres

[in] ppInitHandle

Pointeur vers une variable qui reçoit un handle qui identifie la connexion cliente. Utilisez ce handle pour identifier le client dans les appels suivants à la fonction VirtualChannelOpen .

[in, out] pChannel

Pointeur vers un tableau de structures CHANNEL_DEF . Chaque structure contient le nom et les options d’initialisation d’un canal virtuel que la DLL cliente ouvrira. Notez que l’appel VirtualChannelInit n’ouvre pas ces canaux virtuels ; il réserve uniquement les noms pour l’utilisation par cette application.

[in] channelCount

Spécifie le nombre d’entrées dans le tableau pChannel .

[in] versionRequested

Spécifie le niveau de prise en charge des canaux virtuels. Définissez ce paramètre sur VIRTUAL_CHANNEL_VERSION_WIN2000.

[in] pChannelInitEventProc

Pointeur vers une fonction VirtualChannelInitEvent définie par l’application que les services Bureau à distance appellent pour notifier la DLL cliente des événements de canal virtuel.

Valeur retournée

Si la fonction réussit, la valeur de retour est CHANNEL_RC_OK.

Si une erreur se produit, la fonction retourne l’une des valeurs suivantes.

Remarques

Vous pouvez appeler la fonction VirtualChannelInit uniquement à partir de votre fonction VirtualChannelEntry . Les appels à VirtualChannelInit à tout autre moment échouent.

Lorsque VirtualChannelInit retourne avec succès, les services Bureau à distance ont inscrit les canaux demandés. Toutefois, les services Bureau à distance n’ont peut-être pas terminé d’autres initialisations. Une fois l’initialisation terminée, les services Bureau à distance appellent votre fonction de rappel VirtualChannelInitEvent avec l’événement CHANNEL_EVENT_INITIALIZED .

Vous ne devez pas faire d’hypothèses sur le nombre de canaux virtuels disponibles avant d’appeler cette fonction, car le système et d’autres plug-ins peuvent avoir des canaux virtuels réservés. Par conséquent, vous devez toujours case activée pour un CHANNEL_RC_TOO_MANY_CHANNELS le code de retour après l’appel de cette fonction.

Lorsque VirtualChannelInit est retourné, le membre options de chaque structure CHANNEL_DEF inclut CHANNEL_OPTION_INITIALIZED si le canal a été correctement initialisé.

Le nombre maximal de canaux par session client est CHANNEL_MAX_COUNT.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête cchannel.h

Voir aussi

CHANNEL_DEF

VirtualChannelEntry

VirtualChannelInitEvent