RxCeBuildConnectionOverMultipleTransports 関数 (rxce.h)
RxCeBuildConnectionOverMultipleTransports は、ローカル RDBSS 接続アドレスと特定のリモート アドレスとの間の接続を確立し、複数のトランスポートをサポートします。 一連のローカル アドレスが指定され、このルーチンは、ローカル アドレスに関連付けられているすべてのトランスポートを介してターゲット サーバーへの接続を試みます。 接続オプションに応じて、1 つの接続が勝者として選択されます。
構文
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 トランスポートまたは pLocalAddressPointers 配列で指されている RBDSS 接続エンジン アドレスが無効な場合に発生する可能性があります。 |
|
このルーチンに渡されたパラメーターの 1 つが無効でした。 |
|
ルーチンに入力パラメーターとして渡される異なるトランスポートへの非同期呼び出しの 1 つは、まだ未処理であり、完了していません。 |
注釈
RxCeBuildConnectionOverMultipleTransports は、パラメーターとして渡されるすべての異なるトランスポートへの一連の非同期呼び出しを開始して、接続を試行して構築します。 これらの非同期要求がすべて完了するまで、ネットワーク ミニ リダイレクターをアンロードすることはできません。
RxCeBuildConnectionOverMultipleTransports は、システム ワーカー スレッドのコンテキストで呼び出す必要があります。
RxCeBuildConnectionOverMultipleTransports が成功すると、仮想回線が適切に初期化され、接続が確立されます。
RXCE_CONNECTION_INFORMATION は、 TDI_CONNECTION_INFORMATION 構造体の typedef です。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | rxce.h (Rxce.h を含む) |
IRQL | <= APC_LEVEL |