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 |