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) |