Compartir a través de


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

Consulte también

CHANNEL_DEF

VirtualChannelEntry

VirtualChannelInitEvent