Función RxCeBuildConnectionOverMultipleTransports (rxce.h)
RxCeBuildConnectionOverMultipleTransports establece una conexión entre una dirección de conexión RDBSS local y una dirección remota determinada y admite varios transportes. Se especifica un conjunto de direcciones locales y esta rutina intenta conectarse al servidor de destino a través de todos los transportes asociados a las direcciones locales. Se elige una conexión como ganador en función de las opciones de conexión.
Sintaxis
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
);
Parámetros
[in, out] pMiniRedirectorDeviceObject
Puntero al objeto de dispositivo minidirector.
CreateOption
Cree opciones que determinen qué transporte se seleccionará para establecer una conexión. Estas opciones pueden ser una de las siguientes enumeraciones para RXCE_CONNECTION_CREATE_OPTIONS:
- RxCeSelectFirstSuccessfulTransport
- RxCeSelectBestSuccessfulTransport
- RxCeSelectAllSuccessfulTransports
Seleccione el primer transporte correcto que responda.
Seleccione el mejor transporte correcto que responda.
Seleccione todos los transportes correctos que responden.
[in] NumberOfAddresses
Número de direcciones locales (transportes).
[in] pLocalAddressPointers
Puntero a una matriz de los identificadores de dirección local.
[in] pServerName
Puntero al nombre del servidor (para la enumeración de conexión).
[in] pConnectionInformation
Puntero a la información de conexión que especifica la dirección remota.
[in] pHandler
Puntero al controlador de eventos para procesar indicaciones de recepción.
[in] pEventContext
Puntero al parámetro de contexto que se va a devolver al controlador de eventos y se usa para las indicaciones.
[in] pCompletionRoutine
Puntero a una rutina de finalización de conexión cuando se completa esta rutina si se devuelve inicialmente STATUS_PENDING.
[in, out] pCompletionContext
En la entrada, este parámetro contiene un puntero a una estructura de RXCE_CONNECTION_COMPLETION_CONTEXT sin inicializar. Cuando esta llamada se realiza correctamente, el circuito virtual está asociado a la conexión y el circuito virtual y la conexión se inicializan correctamente.
Valor devuelto
RxCeBuildConnectionOverMultipleTransports devuelve STATUS_SUCCESS si se realiza correctamente o uno de los siguientes códigos de error en caso de error:
Código devuelto | Descripción |
---|---|
|
Error en la asignación de memoria de grupo no paginada necesaria para esta rutina. |
|
No era posible inicializar una conexión y un circuito virtual con cualquiera de los múltiples transportes. Este error puede producirse si todas las direcciones del motor de conexión de RDBSS o RBDSS a las que apunta la matriz pLocalAddressPointers no son válidas. |
|
Uno de los parámetros pasados a esta rutina no era válido. |
|
Una de las llamadas asincrónicas a los diferentes transportes pasados como parámetros de entrada a la rutina sigue pendiente y no se ha completado. |
Comentarios
RxCeBuildConnectionOverMultipleTransports iniciará una serie de llamadas asincrónicas a todos los diferentes transportes pasados como parámetros para intentar crear una conexión. El minidirector de red no se puede descargar hasta que se completen todas estas solicitudes asincrónicas.
Se debe llamar a RxCeBuildConnectionOverMultipleTransports en el contexto de un subproceso de trabajo del sistema.
Cuando RxCeBuildConnectionOverMultipleTransports se realiza correctamente, se inicializará correctamente el circuito virtual y se establecerán conexiones.
RXCE_CONNECTION_INFORMATION es una definición de tipo para una estructura de TDI_CONNECTION_INFORMATION .
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | rxce.h (incluya Rxce.h) |
IRQL | <= APC_LEVEL |