Freigeben über


Verbindungs-Engine-Verwaltung

In RDBSS ist die Verbindungs-Engine so konzipiert, dass die TDI-Spezifikationen so genau wie möglich zugeordnet und emuliert werden. Dies bietet einen effizienten Mechanismus, der die zugrunde liegende TDI-Implementierung für die Verwendung durch Netzwerkminiumleitungen vollständig ausnutzt.

Während die RDBSS-Verbindungs-Engine TDI abstrahiert, können Netzwerkumleitungen auch direkt mit TDI kommunizieren, anstatt diese RDBSS-Verbindungs-Engine-Routinen zu verwenden. Die vorhandenen RDBSS-Verbindungsmodulroutinen, die Wrapper für TDI bereitstellen, wurden zur Unterstützung von Microsoft Networks entwickelt, sodass sie sehr Windows-zentriert sind und möglicherweise nicht für andere Netzwerkdirektoren geeignet sind. Außerdem sollen die Verbindungs-Engine-Routinen in RDBSS aus Windows-Betriebssystemen entfernt werden, die nach Windows Server 2003 veröffentlicht wurden. In Zukunft wird jeder Netzwerkumleitungsor für die Entwicklung der erforderlichen Verbindungs-Engine-Routinen (für TDI oder einen anderen Transport) verantwortlich sein. Beispielsweise könnte ein WebDAV-Redirector mit einem Benutzermodusreflektorprozess kommunizieren, um HTTP-Pakete (Standard TCP/IP) anstelle von TDI zu senden.

Die RDBSS-Verbindungsmodulroutinen behandeln die folgenden Entitäten:

  • Transportprotokolle

  • Transportadressen

  • Transportverbindungen

  • Virtuelle Leitungen an einer Verbindung

Die Transporte sind Bindungen an die verschiedenen Transportdienstleister auf einem beliebigen System. Die Transportadressen sind die lokalen Verbindungsendpunkte. Bei den Verbindungen handelt es sich um Transportverbindungen zwischen Endpunkten. Jede Verbindung kapselt eine Reihe virtueller Verbindungen (in der Regel eine).

Die folgenden wichtigen Datenstrukturen werden von den verschiedenen Verbindungs-Engine-Routinen erstellt und bearbeitet, die RDBSS zugeordnet sind:

  • RXCE_TRANSPORT: Kapselt alle Parameter für einen Transport

  • RXCE_ADDRESS: Kapselt alle Parameter für eine Transportadresse

  • RXCE_CONNECTION: Kapselt alle Parameter für eine Transportverbindung

  • RXCE_VC: Kapselt alle Parameter für eine virtuelle Verbindung in einer Transportverbindung

Netzwerk-Miniumleitungstreiber können diese Datenstrukturen verwenden und die für jeden Typ bereitgestellten Routinen aufrufen, um die Verbindungs-Engine-Teile zu erstellen und herunterzureißen. Diese Routinen weisen den diesen Strukturen zugeordneten Arbeitsspeicher nicht zu oder geben sie frei. Dies bietet einen flexiblen Mechanismus für Mini-Redirectortreiber zum Verwalten von Instanzen dieser Datenstrukturen der Verbindungs-Engine.

Die vier oben beschriebenen Verbindungs-Engine-Typen werden am Anfang jeder Datenstruktur mit einer speziellen RXCE_SIGNATURE Signatur markiert, die von RDBSS häufig für die Validierung verwendet wird.

RDBSS stellt die folgenden Verbindungsmodulroutinen bereit, die von Netzwerk-Miniumleitungstreibern verwendet werden können.

-Routine zurückgegebener Wert BESCHREIBUNG

RxCeAllocateIrpWithMDL

Diese Routine weist eine IRP für die Verwendung durch die Verbindungs-Engine zu und ordnet eine MDL dem IRP zu.

Diese Routine ist nur unter Windows XP verfügbar.

RxCeBuildAddress

Diese Routine ordnet eine Transportadresse einer Transportbindung zu.

RxCeBuildConnection

Diese Routine stellt eine Verbindung zwischen einer lokalen RDBSS-Verbindungsadresse und einer bestimmten Remoteadresse her. Diese Routine sollte im Kontext eines System workerthreads aufgerufen werden.

RxCeBuildConnectionOverMultipleTransports

Diese Routine stellt eine Verbindung zwischen einer lokalen RDBSS-Verbindungsadresse und einer bestimmten Remoteadresse her und unterstützt mehrere Transporte. Es werden eine Reihe lokaler Adressen angegeben, und diese Routine versucht, über alle Transporte, die den lokalen Adressen zugeordnet sind, eine Verbindung mit dem Zielserver herzustellen. Je nach Verbindungsoptionen wird eine Verbindung als Gewinner ausgewählt. Diese Routine muss im Kontext eines System workerthreads aufgerufen werden.

RxCeBuildTransport

Diese Routine bindet einen RDBSS-Transport an einen angegebenen Transportnamen.

RxCeBuildVC

Diese Routine fügt einer angegebenen Verbindung eine virtuelle Verbindung hinzu.

RxCeCancelConnectRequest

Diese Routine bricht eine zuvor ausgestellte Verbindungsanforderung ab.

Beachten Sie, dass diese Routine derzeit nicht implementiert ist.

RxCeFreeIrp

Mit dieser Routine wird ein IRP freigegeben, das von der Verbindungs-Engine verwendet wird.

Diese Routine ist nur unter Windows XP verfügbar.

RxCeInitiateVCDisconnect

Diese Routine initiiert eine Trennung für die virtuelle Verbindung. Diese Routine muss im Kontext eines System workerthreads aufgerufen werden.

RxCeQueryAdapterStatus

Diese Routine gibt die ADAPTER_STATUS-Struktur für einen bestimmten Transport zurück.

RxCeQueryInformation

Diese Routine fragt Informationen ab, die sich auf eine Verbindung beziehen.

RxCeQueryTransportInformation

Diese Routine gibt die Transportinformationen zur Verbindungsanzahl und Dienstqualität für einen bestimmten Transport zurück.

RxCeSend

Diese Routine sendet eine TSDU entlang der angegebenen Verbindung auf einer virtuellen Verbindung.

RxCeSendDatagram

Diese Routine sendet eine TSDU an eine angegebene Transportadresse.

RxCeTearDownAddress

Mit dieser Routine wird eine Transportadresse aus einer Transportbindung entfernt.

RxCeTearDownConnection

Diese Routine reißt eine bestimmte Verbindung ab.

RxCeTearDownTransport

Diese Routine hebt die Bindung an den angegebenen Transport auf.

RxCeTearDownVC

Diese Routine reißt eine virtuelle Verbindung ab.

Hinweis TDI wird in Microsoft Windows-Versionen nach Windows Vista nicht mehr unterstützt. Verwenden Sie stattdessen die Windows-Filterplattform oder den Winsock-Kernel .