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 반환하거나 실패 시 다음 오류 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
이 루틴에 필요한 비페이지 풀 메모리 할당에 실패했습니다. |
|
여러 전송을 사용하여 연결 및 가상 회로를 초기화할 수 없었습니다. 이 오류는 pLocalAddressPointers 배열에서 가리키는 모든 RDBSS 전송 또는 RBDSS 연결 엔진 주소가 잘못된 경우 발생할 수 있습니다. |
|
이 루틴에 전달된 매개 변수 중 하나가 잘못되었습니다. |
|
입력 매개 변수로 루틴에 전달된 다른 전송에 대한 비동기 호출 중 하나는 여전히 미해결이며 완료되지 않았습니다. |
설명
RxCeBuildConnectionOverMultipleTransports 는 연결을 시도하고 빌드하기 위해 매개 변수로 전달된 모든 다른 전송에 대한 일련의 비동기 호출을 시작합니다. 이러한 모든 비동기 요청이 완료될 때까지 네트워크 미니 리디렉터를 언로드할 수 없습니다.
RxCeBuildConnectionOverMultipleTransports는 시스템 작업자 스레드의 컨텍스트에서 호출되어야 합니다.
RxCeBuildConnectionOverMultipleTransports가 성공하면 가상 회로가 제대로 초기화되고 연결이 설정됩니다.
RXCE_CONNECTION_INFORMATIONTDI_CONNECTION_INFORMATION 구조체의 typedef입니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | rxce.h(Rxce.h 포함) |
IRQL | <= APC_LEVEL |