Delen via


Beheer van verbindingsengine

In RDBSS is de verbindingsengine ontworpen om zo dicht mogelijk de TDI-specificaties in kaart te brengen en te emuleren. Dit biedt een efficiënt mechanisme dat volledig gebruikmaakt van de onderliggende TDI-implementatie voor gebruik door netwerk mini-omleidingsors.

Hoewel de RDBSS-verbindingsengine TDI abstract maakt, kunnen netwerkomleidingen ook rechtstreeks communiceren met TDI in plaats van deze RDBSS-verbindingsengineroutines te gebruiken. De bestaande RDBSS-verbindingsengineroutines die wrappers voor TDI bieden, zijn ontwikkeld ter ondersteuning van Microsoft-netwerken, zodat ze zeer windowsgericht zijn en mogelijk niet geschikt zijn voor andere netwerkdirecteuren. Ook moeten de verbindingsengineroutines in RDBSS worden verwijderd uit Windows-besturingssystemen die na Windows Server 2003 zijn uitgebracht. In de toekomst is elke netwerk-omleider verantwoordelijk voor het ontwikkelen van de benodigde verbindingsmotor-routines (aan TDI of een ander transport). Een WebDAV-redirector kan bijvoorbeeld communiceren met een reflectorproces in de gebruikersmodus om HTTP-pakketten (standaard TCP/IP) te verzenden in plaats van TDI.

De RDBSS-verbindingsengineroutines hebben betrekking op de volgende entiteiten:

  • Transporten

  • Transportadressen

  • Transportverbindingen

  • Virtuele circuits op een verbinding

De transporten zijn bindingen met de verschillende transportdiensten op elk systeem. De transportadressen zijn de eindpunten van de lokale verbinding. De verbindingen zijn transportverbindingen tussen eindpunten. Elke verbinding bevat een aantal virtuele circuits (meestal één).

De volgende belangrijke gegevensstructuren worden gemaakt en gemanipuleerd door de verschillende verbindingsengineroutines die zijn gekoppeld aan RDBSS:

  • RXCE_TRANSPORT bevat alle parameters voor een transport

  • RXCE_ADDRESS bevat alle parameters voor een transportadres

  • RXCE_CONNECTION bevat alle parameters voor een transportverbinding

  • RXCE_VC bevat alle parameters voor een virtueel circuit op een transportverbinding

Mini-redirectorstuurprogramma's kunnen deze gegevensstructuren gebruiken en de routines aanroepen die voor elk type zijn opgegeven om de onderdelen van de verbindingsengine op te bouwen en af te breken. Deze routines wijzen het geheugen dat aan deze structuren is gekoppeld, niet toe of vrij maken. Dit biedt een flexibel mechanisme voor mini-omleidingsstuurprogramma's voor het beheren van exemplaren van deze gegevensstructuren van de verbindingsengine.

De vier hierboven beschreven typen verbindingsengines worden aan het begin van elke gegevensstructuur getagd met een speciale RXCE_SIGNATURE handtekening die uitgebreid door RDBSS wordt gebruikt voor validatie.

RDBSS biedt de volgende verbindingsengine-routines die kunnen worden gebruikt door mini-redirectorstuurprogramma's voor netwerken.

Routine Beschrijving

RxCeAllocateIrpWithMDL

Deze routine wijst een IRP toe voor gebruik door de verbindingsengine en koppelt een MDL aan de IRP.

Deze routine is alleen beschikbaar in Windows XP.

RxCeBuildAddress

Deze routine koppelt een transportadres aan een transportbinding.

RxCeBuildConnection

Met deze routine wordt een verbinding tot stand gebracht tussen een lokaal RDBSS-verbindingsadres en een bepaald extern adres. Deze routine moet worden aangeroepen in de context van een systeemwerkrolthread.

RxCeBuildConnectionOverMultipleTransports

Deze routine brengt een verbinding tot stand tussen een lokaal RDBSS-verbindingsadres en een bepaald extern adres en ondersteunt meerdere transporten. Er wordt een set lokale adressen opgegeven en deze routine probeert verbinding te maken met de doelserver via alle transporten die zijn gekoppeld aan de lokale adressen. Eén verbinding wordt gekozen als de winnaar, afhankelijk van de verbindingsopties. Deze routine moet worden aangeroepen in de context van een systeemwerkrolthread.

RxCeBuildTransport

Met deze routine wordt een RDBSS-transport gekoppeld aan een opgegeven transportnaam.

RxCeBuildVC

Met deze routine wordt een virtueel circuit toegevoegd aan een opgegeven verbinding.

RxCeCancelConnectRequest

Met deze routine wordt een eerder uitgegeven verbindingsaanvraag geannuleerd.

Houd er rekening mee dat deze routine momenteel niet is geïmplementeerd.

RxCeFreeIrp

Met deze routine wordt een IRP vrijgemaakt die door de verbindingsengine wordt gebruikt.

Deze routine is alleen beschikbaar in Windows XP.

RxCeInitiateVCDisconnect

Met deze routine wordt de verbinding met het virtuele circuit verbroken. Deze routine moet worden aangeroepen in de context van een systeemwerkrolthread.

RxCeQueryAdapterStatus

Deze routine retourneert de ADAPTER_STATUS structuur voor een bepaald transport.

RxCeQueryInformation

Met deze routine wordt informatie opgevraagd die betrekking heeft op een verbinding.

RxCeQueryTransportInformation

Deze routine retourneert de transportinformatie over het aantal verbindingen en de kwaliteit van de service voor een bepaald transport.

RxCeSend

Deze routine verzendt een TSDU langs de opgegeven verbinding op een virtueel circuit.

RxCeSendDatagram

Deze routine verzendt een TSDU naar een opgegeven transportadres.

RxCeTearDownAddress

Deze routine verwijdert een transportadres uit een transportbinding.

RxCeTearDownConnection

Deze routine scheurt een bepaalde verbinding.

RxCeTearDownTransport

Deze routine wordt losgetrokken van het opgegeven transport.

RxCeTearDownVC

Deze routine scheurt een virtuele verbinding af.

Opmerking TDI wordt niet ondersteund in Microsoft Windows-versies na Windows Vista. Gebruik in plaats daarvan Windows Filtering Platform of Winsock Kernel.