Função WTSVirtualChannelOpenEx (wtsapi32.h)

Cria um canal virtual de maneira semelhante ao WTSVirtualChannelOpen.

Essa API dá suporte à criação de SVC (canal virtual estático) e DVC (canal virtual dinâmico). Se o parâmetro flags for zero, ele se comportará da mesma forma que WTSVirtualChannelOpen. Um DVC pode ser aberto especificando o sinalizador apropriado. Depois que um DVC é criado, você pode usar as mesmas funções para Leitura, Gravação, Consulta ou Fechamento que são usadas para o SVC.

Sintaxe

HANDLE WTSVirtualChannelOpenEx(
  [in] DWORD SessionId,
  [in] LPSTR pVirtualName,
  [in] DWORD flags
);

Parâmetros

[in] SessionId

Um identificador de sessão dos Serviços de Área de Trabalho Remota. Para indicar a sessão atual, especifique WTS_CURRENT_SESSION. Você pode usar a função WTSEnumerateSessions para recuperar os identificadores de todas as sessões em um servidor host de sessão rd especificado.

Para poder abrir um canal virtual na sessão de outro usuário, você deve ter a permissão Canais Virtuais. Para obter mais informações, consulte Permissões dos Serviços de Área de Trabalho Remota. Para modificar permissões em uma sessão, use a ferramenta administrativa Configuração de Serviços de Área de Trabalho Remota.

[in] pVirtualName

No caso de um SVC, aponta para uma cadeia de caracteres terminada em nulo que contém o nome do canal virtual. O comprimento de um nome SVC é limitado a CHANNEL_NAME_LEN caracteres, não incluindo o nulo de terminação.

No caso de um DVC, aponta para uma cadeia de caracteres terminada em nulo que contém o nome do ponto de extremidade do ouvinte. O comprimento de um nome DVC é limitado a caracteres MAX_PATH .

[in] flags

Para abrir o canal como um SVC, especifique zero para esse parâmetro. Para abrir o canal como um DVC, especifique WTS_CHANNEL_OPTION_DYNAMIC.

Ao abrir um DVC, você pode especificar uma configuração de prioridade para os dados que estão sendo transferidos especificando um dos valores WTS_CHANNEL_OPTION_DYNAMIC_PRI_XXX em combinação com o valor WTS_CHANNEL_OPTION_DYNAMIC .

WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS

Desabilita a compactação para esse DVC. Você deve especificar esse valor em combinação com o valor WTS_CHANNEL_OPTION_DYNAMIC .

WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW (padrão)

Baixa prioridade. Os dados serão enviados em ambos os lados com baixa prioridade. Use esse nível de prioridade para transferências de bloco de todos os tamanhos, em que a velocidade de transferência não é importante. Em quase todos os casos (95%), o canal deve ser aberto com esse sinalizador.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED

Prioridade média. Use esse nível de prioridade para enviar mensagens de controle curto que devem ter prioridade sobre os dados nos canais de baixa prioridade.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH

Prioridade alta. Use esse nível de prioridade para dados críticos e que afetam diretamente a experiência do usuário. O tamanho da transferência pode variar. Os dados de exibição se enquadram nessa categoria.

WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL

Prioridade em tempo real. Use esse nível de prioridade somente nos casos em que a transferência de dados seja absolutamente crítica. O tamanho da transferência de dados deve ser limitado a algumas centenas de bytes por mensagem.

Retornar valor

NULL no erro com GetLastError definido.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wtsapi32.h
Biblioteca Wtsapi32.lib
DLL Wtsapi32.dll
Conjunto de APIs ext-ms-win-session-wtsapi32-l1-1-0 (introduzido em Windows 8)

Confira também

APIs do servidor DVC

Referência de canais virtuais dinâmicos

WTSVirtualChannelOpen