다음을 통해 공유


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 반환하거나 실패 시 다음 오류 코드 중 하나를 반환합니다.

반환 코드 설명
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