Функция RxCeBuildConnectionOverMultipleTransports (rxce.h)
RxCeBuildConnectionOverMultipleTransports устанавливает соединение между локальным адресом подключения RDBSS и заданным удаленным адресом и поддерживает несколько транспортных операций. Указан набор локальных адресов, и эта подпрограмма пытается подключиться к целевому серверу через все транспорты, связанные с локальными адресами. Одно подключение выбирается в качестве победителя в зависимости от вариантов подключения.
Синтаксис
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
);
Параметры
[in, out] pMiniRedirectorDeviceObject
Указатель на объект устройства мини-перенаправления.
CreateOption
Создайте параметры, определяющие, какой транспорт будет выбран для установки подключения. Эти параметры могут быть одним из следующих перечислений для RXCE_CONNECTION_CREATE_OPTIONS:
- RxCeSelectFirstSuccessfulTransport
- RxCeSelectBestSuccessfulTransport
- RxCeSelectAllSuccessfulTransports
Выберите первый успешный транспорт, который отвечает.
Выберите наиболее успешный транспорт, который отвечает.
Выберите все успешные транспорты, которые отвечают.
[in] NumberOfAddresses
Количество локальных адресов (транспортов).
[in] pLocalAddressPointers
Указатель на массив дескрипторов локальных адресов.
[in] pServerName
Указатель на имя сервера (для перечисления подключений).
[in] pConnectionInformation
Указатель на сведения о подключении, указывающие удаленный адрес.
[in] pHandler
Указатель на обработчик событий для обработки показаний получения.
[in] pEventContext
Указатель на параметр контекста, передаваемый обратно в обработчик событий и используемый для индикации.
[in] pCompletionRoutine
Указатель на подпрограмму завершения подключения при завершении этой процедуры, если STATUS_PENDING возвращается изначально.
[in, out] pCompletionContext
Во входных данных этот параметр содержит указатель на неинициализированную структуру RXCE_CONNECTION_COMPLETION_CONTEXT. При успешном вызове виртуальный канал связывается с подключением, а виртуальный канал и подключение правильно инициализированы.
Возвращаемое значение
RxCeBuildConnectionOverMultipleTransports возвращает STATUS_SUCCESS при успешном выполнении или один из следующих кодов ошибок при сбое:
Код возврата | Описание |
---|---|
|
Не удалось выделить непагрегированную память пула, необходимую для этой подпрограммы. |
|
Невозможно инициализировать подключение и виртуальный канал с помощью любого из нескольких транспортных средств. Эта ошибка может возникнуть, если все транспорты RDBSS или адреса подсистемы подключений RBDSS, указанные в массиве pLocalAddressPointers , недопустимы. |
|
Один из параметров, переданных в эту подпрограмму, был недопустимым. |
|
Один из асинхронных вызовов различных транспортов, передаваемых в качестве входных параметров в подпрограмму, по-прежнему остается незавершенным и не завершен. |
Комментарии
RxCeBuildConnectionOverMultipleTransports инициирует серию асинхронных вызовов всех различных транспортных средств, передаваемых в качестве параметров, чтобы попытаться создать подключение. Сетевой мини-перенаправитель не может быть выгружен до тех пор, пока не будут выполнены все эти асинхронные запросы.
RxCeBuildConnectionOverMultipleTransports должен вызываться в контексте системного рабочего потока.
При успешном выполнении RxCeBuildConnectionOverMultipleTransports будет правильно инициализирован виртуальный канал и установлены подключения.
RXCE_CONNECTION_INFORMATION — это определение типа для структуры TDI_CONNECTION_INFORMATION .
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | rxce.h (включая Rxce.h) |
IRQL | <= APC_LEVEL |