Funzione RxCeBuildConnectionOverMultipleTransports (rxce.h)

RxCeBuildConnectionOverMultipleTransports 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.

Sintassi

NTSTATUS RxCeBuildConnectionOverMultipleTransports(
  [in, out] IN OUT PRDBSS_DEVICE_OBJECT                pMiniRedirectorDeviceObject,
            IN RXCE_CONNECTION_CREATE_OPTIONS          CreateOption,
  [in]      IN ULONG                                   NumberOfAddresses,
  [in]      IN PRXCE_ADDRESS                           *pLocalAddressPointers,
  [in]      IN PUNICODE_STRING                         pServerName,
  [in]      IN PRXCE_CONNECTION_INFORMATION            pConnectionInformation,
  [in]      IN PRXCE_CONNECTION_EVENT_HANDLER          pHandler,
  [in]      IN PVOID                                   pEventContext,
  [in]      IN PRXCE_CONNECTION_COMPLETION_ROUTINE     pCompletionRoutine,
  [in, out] IN OUT PRXCE_CONNECTION_COMPLETION_CONTEXT pCompletionContext
);

Parametri

[in, out] pMiniRedirectorDeviceObject

Puntatore all'oggetto dispositivo mini-redirector.

CreateOption

Creare opzioni che determinano quale trasporto verrà selezionato per stabilire una connessione. Queste opzioni possono essere una delle enumerazioni seguenti per RXCE_CONNECTION_CREATE_OPTIONS:

RxCeSelectFirstSuccessfulTransport

Selezionare il primo trasporto riuscito che risponde.

RxCeSelectBestSuccessfulTransport

Selezionare il trasporto più efficace che risponde.

RxCeSelectAllSuccessfulTransports

Selezionare tutti i trasporti riusciti che rispondono.

[in] NumberOfAddresses

Numero di indirizzi locali (trasporti).

[in] pLocalAddressPointers

Puntatore a una matrice degli handle di indirizzi locali.

[in] pServerName

Puntatore al nome del server (per l'enumerazione di connessione).

[in] pConnectionInformation

Puntatore alle informazioni di connessione che specifica l'indirizzo remoto.

[in] pHandler

Puntatore al gestore eventi per l'elaborazione ricevono indicazioni.

[in] pEventContext

Puntatore al parametro di contesto da passare al gestore eventi e usato per le indicazioni.

[in] pCompletionRoutine

Un puntatore a una routine di completamento della connessione al termine di questa routine se STATUS_PENDING viene inizialmente restituito.

[in, out] pCompletionContext

In input, questo parametro contiene un puntatore a una struttura di RXCE_CONNECTION_COMPLETION_CONTEXT non inizializzata. Nell'output quando questa chiamata ha esito positivo, il circuito virtuale è associato alla connessione e il circuito virtuale e la connessione vengono inizializzati correttamente.

Valore restituito

RxCeBuildConnectionOverMultipleTransports restituisce STATUS_SUCCESS sull'esito positivo o su uno dei codici di errore seguenti in caso di errore:

Codice restituito Descrizione
STATUS_INSUFFICIENT_RESOURCES
L'allocazione della memoria del pool non con pagine necessaria per questa routine non è riuscita.
STATUS_INVALID_HANDLE
Non è stato possibile inizializzare una connessione e un circuito virtuale con uno dei più trasporti. Questo errore può verificarsi se tutti i trasporti RDBSS o gli indirizzi del motore di connessione RBDSS puntati nella matrice pLocalAddressPointers non sono validi.
STATUS_INVALID_PARAMETER
Uno dei parametri passati a questa routine non è valido.
STATUS_PENDING
Una delle chiamate asincrone ai diversi trasporti passati come parametri di input alla routine è ancora in sospeso e non è stata completata.

Commenti

RxCeBuildConnectionOverMultipleTransports avvierà una serie di chiamate asincrone a tutti i diversi trasporti passati come parametri per provare a creare una connessione. Il mini-reindirizzamento di rete non può essere scaricato fino a quando non vengono completate tutte queste richieste asincrone.

RxCeBuildConnectionOverMultipleTransports deve essere chiamato nel contesto di un thread di lavoro di sistema.

Quando RxCeBuildConnectionOverMultipleTransports ha esito positivo, il circuito virtuale verrà inizializzato correttamente e le connessioni verranno stabilite correttamente.

RXCE_CONNECTION_INFORMATION è un typedef per una struttura TDI_CONNECTION_INFORMATION .

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione rxce.h (includere Rxce.h)
IRQL <= APC_LEVEL

Vedi anche

RxCeBuildConnection

RxCeTearDownConnection

TDI_CONNECTION_INFORMATION