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,或在失敗時傳回下列其中一個錯誤碼:

傳回碼 Description
STATUS_INSUFFICIENT_RESOURCES
此例程所需的非分頁集區內存配置失敗。
STATUS_INVALID_HANDLE
您無法使用任何多個傳輸來初始化連線和虛擬線路。 如果 pLocalAddressPointers 陣列中指向的所有 RDBSS 傳輸或 RBDSS 連線引擎地址無效,就會發生此錯誤。
STATUS_INVALID_PARAMETER
傳遞至此例程的其中一個參數無效。
STATUS_PENDING
傳遞為輸入參數至例程的不同傳輸的其中一個異步呼叫仍然未完成且尚未完成。

備註

RxCeBuildConnectionOverMultipleTransports 會起始一系列異步呼叫,以作為參數傳入的所有不同傳輸,以嘗試並建置連線。 在完成所有這些異步要求之前,無法卸除網路迷你重新導向器。

必須在系統背景工作線程的內容中呼叫 RxCeBuildConnectionOverMultipleTransports

RxCeBuildConnectionOverMultipleTransports 成功時,將會正確初始化虛擬線路,並建立連線。

RXCE_CONNECTION_INFORMATIONTDI_CONNECTION_INFORMATION 結構的 typedef。

規格需求

需求
目標平台 桌面
標頭 rxce.h (包含 Rxce.h)
IRQL <= APC_LEVEL

另請參閱

RxCeBuildConnection

RxCeTearDownConnection

TDI_CONNECTION_INFORMATION