Compartilhar via


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

RxCeAllocateIrpWithMDL

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.

RxCeBuildAddress

Essa rotina associa um endereço de transporte a uma associação de transporte.

RxCeBuildConnection

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.

RxCeBuildConnectionOverMultipleTransports

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.

RxCeBuildTransport

Essa rotina associa um transporte RDBSS a um nome de transporte especificado.

RxCeBuildVC

Essa rotina adiciona um circuito virtual a uma conexão especificada.

RxCeCancelConnectRequest

Essa rotina cancela uma solicitação de conexão emitida anteriormente.

Observe que essa rotina não está implementada no momento.

RxCeFreeIrp

Essa rotina libera um IRP usado pelo mecanismo de conexão.

Essa rotina só está disponível no Windows XP.

RxCeInitiateVCDisconnect

Essa rotina inicia uma desconexão no circuito virtual. Essa rotina deve ser chamada no contexto de um thread de trabalho do sistema.

RxCeQueryAdapterStatus

Essa rotina retorna a estrutura ADAPTER_STATUS para um determinado transporte.

RxCeQueryInformation

Essa rotina consulta informações que pertencem a uma conexão.

RxCeQueryTransportInformation

Essa rotina retorna as informações de transporte sobre a contagem de conexões e a qualidade do serviço para um determinado transporte.

RxCeSend

Essa rotina envia um TSDU ao longo da conexão especificada em um circuito virtual.

RxCeSendDatagram

Essa rotina envia um TSDU para um endereço de transporte especificado.

RxCeTearDownAddress

Essa rotina remove um endereço de transporte de uma associação de transporte.

RxCeTearDownConnection

Essa rotina rasga uma determinada conexão.

RxCeTearDownTransport

Essa rotina é desassociada do transporte especificado.

RxCeTearDownVC

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 .