Função de retorno de chamada VIRTUALCHANNELINIT (cchannel.h)

Inicializa o acesso de uma DLL de cliente aos canais virtuais dos Serviços de Área de Trabalho Remota. O cliente chama VirtualChannelInit para registrar os nomes de seus canais virtuais.

Os Serviços de Área de Trabalho Remota fornecem um ponteiro para uma função VirtualChannelInit na estrutura CHANNEL_ENTRY_POINTS passada para o ponto de entrada VirtualChannelEntry .

Sintaxe

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

Ponteiro para uma variável que recebe um identificador que identifica a conexão do cliente. Use esse identificador para identificar o cliente em chamadas subsequentes para a função VirtualChannelOpen .

[in, out] pChannel

Ponteiro para uma matriz de estruturas de CHANNEL_DEF . Cada estrutura contém as opções de nome e inicialização de um canal virtual que a DLL do cliente abrirá. Observe que a chamada VirtualChannelInit não abre esses canais virtuais; ele reserva apenas os nomes para uso por este aplicativo.

[in] channelCount

Especifica o número de entradas na matriz pChannel .

[in] versionRequested

Especifica o nível de suporte ao canal virtual. Defina esse parâmetro como VIRTUAL_CHANNEL_VERSION_WIN2000.

[in] pChannelInitEventProc

Ponteiro para uma função VirtualChannelInitEvent definida pelo aplicativo que os Serviços de Área de Trabalho Remota chamam para notificar a DLL do cliente de eventos de canal virtual.

Retornar valor

Se a função for bem-sucedida, o valor retornado será CHANNEL_RC_OK.

Se ocorrer um erro, a função retornará um dos valores a seguir.

Comentários

Você pode chamar a função VirtualChannelInit somente da função VirtualChannelEntry . As chamadas para VirtualChannelInit a qualquer outro momento falham.

Quando VirtualChannelInit retorna com êxito, os Serviços de Área de Trabalho Remota registraram os canais solicitados. No entanto, os Serviços de Área de Trabalho Remota podem não ter concluído outra inicialização. Quando toda a inicialização for concluída, os Serviços de Área de Trabalho Remota chamarão a função de retorno de chamada VirtualChannelInitEvent com o evento CHANNEL_EVENT_INITIALIZED .

Você não deve fazer suposições sobre o número de canais virtuais disponíveis antes de chamar essa função, pois o sistema e outros plug-ins podem ter canais virtuais reservados. Portanto, você deve sempre marcar para um código de retorno de CHANNEL_RC_TOO_MANY_CHANNELS depois de chamar essa função.

Quando VirtualChannelInit retorna, o membro de opções de cada estrutura CHANNEL_DEF inclui CHANNEL_OPTION_INITIALIZED se o canal foi inicializado com êxito.

O número máximo de canais por sessão do cliente é CHANNEL_MAX_COUNT.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho cchannel.h

Confira também

CHANNEL_DEF

Virtualchannelentry

VirtualChannelInitEvent