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
- RxCeSelectBestSuccessfulTransport
- RxCeSelectAllSuccessfulTransports
Selezionare il primo trasporto riuscito che risponde.
Selezionare il trasporto più efficace che risponde.
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 |
---|---|
|
L'allocazione della memoria del pool non con pagine necessaria per questa routine non è riuscita. |
|
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. |
|
Uno dei parametri passati a questa routine non è valido. |
|
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 |