Condividi tramite


Gestione motore di connessione

In RDBSS il motore di connessione è progettato per eseguire il mapping ed emulare le specifiche TDI il più possibile. Ciò offre un meccanismo efficiente che sfrutta completamente l'implementazione DELLA TDI sottostante per l'uso da mini-reindirizzamento di rete.

Anche se il motore di connessione RDBSS esegue l'astrazione DI TDI, i reindirizzamenti di rete sono liberi di comunicare direttamente con TDI anziché usare queste routine del motore di connessione RDBSS. Le routine esistenti del motore di connessione RDBSS che forniscono wrapper per TDI sono state sviluppate per supportare Microsoft Networks, quindi sono molto incentrate su Windows e potrebbero non essere appropriate per altri amministratori di rete. Inoltre, le routine del motore di connessione in RDBSS devono essere rimosse dai sistemi operativi Windows rilasciati dopo Windows Server 2003. In futuro, ogni reindirizzamento di rete sarà responsabile dello sviluppo delle routine del motore di connessione necessarie (a TDI o ad altri trasporti). Ad esempio, un reindirizzamento WebDAV potrebbe comunicare con un processo di riflettente in modalità utente per inviare pacchetti HTTP (TCP/IP standard) anziché TDI.

Le routine del motore di connessione RDBSS gestiscono le entità seguenti:

  • Trasporti

  • Indirizzi di trasporto

  • Connessioni di trasporto

  • Circuiti virtuali in una connessione

I trasporti sono associazioni ai vari provider di servizi di trasporto in qualsiasi sistema. Gli indirizzi di trasporto sono i punti finali della connessione locale. Le connessioni sono connessioni di trasporto tra endpoint. Ogni connessione incapsula un numero di circuiti virtuali (in genere uno).

Le strutture di dati importanti seguenti vengono create e modificate dalle varie routine del motore di connessione associate a RDBSS:

  • RXCE_TRANSPORT--incapsula tutti i parametri per un trasporto

  • RXCE_ADDRESS-incapsula tutti i parametri per un indirizzo di trasporto

  • RXCE_CONNECTION--incapsula tutti i parametri per una connessione di trasporto

  • RXCE_VC--incapsula tutti i parametri per un circuito virtuale in una connessione di trasporto

I driver mini-reindirizzamento di rete possono usare queste strutture di dati e richiamare le routine fornite per ogni tipo per compilare e rimuovere le parti del motore di connessione. Queste routine non allocano o liberano la memoria associata a queste strutture. Ciò offre un meccanismo flessibile per i driver mini-redirector per gestire le istanze di queste strutture di dati del motore di connessione.

I quattro tipi di motore di connessione descritti in precedenza vengono contrassegnati all'inizio di ogni struttura di dati con una firma RXCE_SIGNATURE speciale usata ampiamente da RDBSS per la convalida.

RDBSS fornisce le routine del motore di connessione seguenti che possono essere usate dai driver mini-reindirizzamento di rete.

Routine Descrizione

RxCeAllocateIrpWithMDL

Questa routine alloca un'IRP da usare dal motore di connessione e associa un MDL all'IRP.

Questa routine è disponibile solo in Windows XP.

RxCeBuildAddress

Questa routine associa un indirizzo di trasporto a un'associazione di trasporto.

RxCeBuildConnection

Questa routine stabilisce una connessione tra un indirizzo di connessione RDBSS locale e un determinato indirizzo remoto. Questa routine deve essere chiamata nel contesto di un thread di lavoro di sistema.

RxCeBuildConnectionOverMultipleTransports

Questa routine stabilisce una connessione tra un indirizzo di connessione RDBSS locale e un determinato indirizzo remoto e supporta più trasporti. Viene specificato un set di indirizzi locali e questa routine tenta di connettersi al server di destinazione tramite tutti i trasporti associati agli indirizzi locali. Una connessione viene scelta come vincitore a seconda delle opzioni di connessione. Questa routine deve essere chiamata nel contesto di un thread di lavoro di sistema.

RxCeBuildTransport

Questa routine associa un trasporto RDBSS a un nome di trasporto specificato.

RxCeBuildVC

Questa routine aggiunge un circuito virtuale a una connessione specificata.

RxCeCancelConnectRequest

Questa routine annulla una richiesta di connessione rilasciata in precedenza.

Si noti che questa routine non è attualmente implementata.

RxCeFreeIrp

Questa routine libera un'IRP usata dal motore di connessione.

Questa routine è disponibile solo in Windows XP.

RxCeInitiateVCDisconnect

Questa routine avvia una disconnessione sul circuito virtuale. Questa routine deve essere chiamata nel contesto di un thread di lavoro di sistema.

RxCeQueryAdapterStatus

Questa routine restituisce la struttura ADAPTER_STATUS per un determinato trasporto.

RxCeQueryInformation

Questa routine esegue query sulle informazioni relative a una connessione.

RxCeQueryTransportInformation

Questa routine restituisce le informazioni sul numero di connessioni e sulla qualità del servizio per un determinato trasporto.

RxCeSend

Questa routine invia un TSDU lungo la connessione specificata in un circuito virtuale.

RxCeSendDatagram

Questa routine invia un TSDU a un indirizzo di trasporto specificato.

RxCeTearDownAddress

Questa routine rimuove un indirizzo di trasporto da un'associazione di trasporto.

RxCeTearDownConnection

Questa routine rimuove una determinata connessione.

RxCeTearDownTransport

Questa routine annulla l'associazione dal trasporto specificato.

RxCeTearDownVC

Questa routine rimuove una connessione virtuale.

Nota TDI non sarà supportato nelle versioni di Microsoft Windows dopo Windows Vista. Usare invece Windows Filtering Platform o Winsock Kernel .