Función de devolución de llamada VIRTUALCHANNELINIT (cchannel.h)
Inicializa el acceso de un archivo DLL de cliente a los canales virtuales de Servicios de Escritorio remoto. El cliente llama a VirtualChannelInit para registrar los nombres de sus canales virtuales.
Servicios de Escritorio remoto proporciona un puntero a una función VirtualChannelInit en la estructura CHANNEL_ENTRY_POINTS pasada al punto de entrada VirtualChannelEntry .
Sintaxis
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
)
{...}
Parámetros
[in] ppInitHandle
Puntero a una variable que recibe un identificador que identifica la conexión de cliente. Use este identificador para identificar al cliente en llamadas posteriores a la función VirtualChannelOpen .
[in, out] pChannel
Puntero a una matriz de estructuras de CHANNEL_DEF . Cada estructura contiene las opciones de nombre e inicialización de un canal virtual que abrirá el archivo DLL del cliente. Tenga en cuenta que la llamada a VirtualChannelInit no abre estos canales virtuales; solo reserva los nombres para su uso por esta aplicación.
[in] channelCount
Especifica el número de entradas de la matriz pChannel .
[in] versionRequested
Especifica el nivel de compatibilidad del canal virtual. Establezca este parámetro en VIRTUAL_CHANNEL_VERSION_WIN2000.
[in] pChannelInitEventProc
Puntero a una función VirtualChannelInitEvent definida por la aplicación que los Servicios de Escritorio remoto llaman a para notificar al archivo DLL de cliente de eventos de canal virtual.
Valor devuelto
Si la función se ejecuta correctamente, se CHANNEL_RC_OK el valor devuelto.
Si se produce un error, la función devuelve uno de los valores siguientes.
Comentarios
Solo puede llamar a la función VirtualChannelInit desde la función VirtualChannelEntry . Se produce un error en las llamadas a VirtualChannelInit en cualquier otro momento.
Cuando VirtualChannelInit vuelve correctamente, Servicios de Escritorio remoto ha registrado los canales solicitados. Sin embargo, es posible que los Servicios de Escritorio remoto no hayan completado otra inicialización. Cuando se completa toda la inicialización, Los Servicios de Escritorio remoto llaman a la función de devolución de llamada VirtualChannelInitEvent con el evento CHANNEL_EVENT_INITIALIZED .
No debe realizar suposiciones sobre el número de canales virtuales disponibles antes de llamar a esta función, ya que el sistema y otros complementos pueden tener canales virtuales reservados. Por lo tanto, siempre debe comprobar si hay un código de devolución CHANNEL_RC_TOO_MANY_CHANNELS después de llamar a esta función.
Cuando se devuelve VirtualChannelInit , el miembro de opciones de cada estructura de CHANNEL_DEF incluye CHANNEL_OPTION_INITIALIZED si el canal se inicializó correctamente.
El número máximo de canales por sesión de cliente es CHANNEL_MAX_COUNT.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | cchannel.h |