Gerenciamento do Mecanismo de Conexão
No RDBSS, o mecanismo de conexão foi projetado para mapear e emular as especificações de TDI o mais próximo possível. Isso fornece um mecanismo eficiente que explora totalmente a implementação de TDI subjacente para uso por minidiretórios de rede.
Embora o mecanismo de conexão RDBSS faça TDI abstrato, os redirecionadores de rede também são livres para se comunicar diretamente com a TDI em vez de usar essas rotinas do mecanismo de conexão RDBSS. As rotinas existentes do mecanismo de conexão RDBSS que fornecem wrappers para TDI foram desenvolvidas para dar suporte à Microsoft Networks, portanto, elas são muito centradas no Windows e podem não ser apropriadas para outros diretores de rede. Além disso, as rotinas do mecanismo de conexão no RDBSS devem ser removidas dos sistemas operacionais Windows lançados após o Windows Server 2003. No futuro, cada redirecionador de rede será responsável por desenvolver as rotinas do mecanismo de conexão necessárias (para TDI ou algum outro transporte). Por exemplo, um redirecionador WebDAV pode conversar com algum processo de refletor do modo de usuário para enviar pacotes HTTP (TCP/IP padrão) em vez de TDI.
As rotinas do mecanismo de conexão RDBSS lidam com as seguintes entidades:
Transportes
Endereços de transporte
Conexões de transporte
Circuitos virtuais em uma conexão
Os transportes são associações aos vários provedores de serviços de transporte em qualquer sistema. Os endereços de transporte são os pontos de extremidade de conexão locais. As conexões são conexões de transporte entre pontos de extremidade. Cada conexão encapsula vários circuitos virtuais (normalmente um).
As estruturas de dados importantes a seguir são criadas e manipuladas pelas várias rotinas do mecanismo de conexão associadas ao RDBSS:
RXCE_TRANSPORT- encapsula todos os parâmetros para um transporte
RXCE_ADDRESS- encapsula todos os parâmetros de um endereço de transporte
RXCE_CONNECTION- encapsula todos os parâmetros para uma conexão de transporte
RXCE_VC encapsula todos os parâmetros de um circuito virtual em uma conexão de transporte
Os drivers de minidiretório de rede podem usar essas estruturas de dados e invocar as rotinas fornecidas para cada tipo criar e derrubar as partes do mecanismo de conexão. Essas rotinas não alocam nem liberam a memória associada a essas estruturas. Isso fornece um mecanismo flexível para drivers de minidiretório gerenciar instâncias dessas estruturas de dados do mecanismo de conexão.
Os quatro tipos de mecanismo de conexão descritos acima são marcados no início de cada estrutura de dados com uma assinatura de RXCE_SIGNATURE especial que é usada extensivamente pelo RDBSS para validação.
O RDBSS fornece as seguintes rotinas do mecanismo de conexão que podem ser usadas por drivers de minidiretório de rede.
Rotina | Descrição |
---|---|
Essa rotina aloca um IRP para uso pelo mecanismo de conexão e associa um MDL ao IRP. Essa rotina só está disponível no Windows XP. |
|
Essa rotina associa um endereço de transporte a uma associação de transporte. |
|
Essa rotina estabelece uma conexão entre um endereço de conexão RDBSS local e um determinado endereço remoto. Essa rotina deve ser chamada no contexto de um thread de trabalho do sistema. |
|
Essa rotina estabelece uma conexão entre um endereço de conexão RDBSS local e um determinado endereço remoto e dá suporte a vários transportes. Um conjunto de endereços locais é especificado e essa rotina tenta se conectar ao servidor de destino por meio de todos os transportes associados aos endereços locais. Uma conexão é escolhida como vencedora dependendo das opções de conexão. Essa rotina deve ser chamada no contexto de um thread de trabalho do sistema. |
|
Essa rotina associa um transporte RDBSS a um nome de transporte especificado. |
|
Essa rotina adiciona um circuito virtual a uma conexão especificada. |
|
Essa rotina cancela uma solicitação de conexão emitida anteriormente. Observe que essa rotina não está implementada no momento. |
|
Essa rotina libera um IRP usado pelo mecanismo de conexão. Essa rotina só está disponível no Windows XP. |
|
Essa rotina inicia uma desconexão no circuito virtual. Essa rotina deve ser chamada no contexto de um thread de trabalho do sistema. |
|
Essa rotina retorna a estrutura ADAPTER_STATUS para um determinado transporte. |
|
Essa rotina consulta informações que pertencem a uma conexão. |
|
Essa rotina retorna as informações de transporte sobre a contagem de conexões e a qualidade do serviço para um determinado transporte. |
|
Essa rotina envia um TSDU ao longo da conexão especificada em um circuito virtual. |
|
Essa rotina envia um TSDU para um endereço de transporte especificado. |
|
Essa rotina remove um endereço de transporte de uma associação de transporte. |
|
Essa rotina rasga uma determinada conexão. |
|
Essa rotina é desassociada do transporte especificado. |
|
Essa rotina rasga uma conexão virtual. |
Nota Não haverá suporte para TDI nas versões do Microsoft Windows após o Windows Vista. Em vez disso, use a Plataforma de Filtragem do Windows ou o Kernel winsock .