다음을 통해 공유


연결 엔진 관리

RDBSS에서 연결 엔진은 가능한 한 TDI 사양을 매핑하고 에뮬레이트하도록 설계되었습니다. 네트워크 미니 리디렉터에서 사용하기 위해 기본 TDI 구현을 완전히 활용하는 효율적인 메커니즘을 제공합니다.

RDBSS 연결 엔진이 추상 TDI를 수행하는 동안 네트워크 리디렉터는 이러한 RDBSS 연결 엔진 루틴을 사용하는 대신 TDI와 직접 통신할 수 있습니다. TDI에 래퍼를 제공하는 기존 RDBSS 연결 엔진 루틴은 Microsoft 네트워크를 지원하도록 개발되었으므로 Windows 중심이며 다른 네트워크 디렉터에게는 적합하지 않을 수 있습니다. 또한 RDBSS의 연결 엔진 루틴은 Windows Server 2003 이후에 릴리스된 Windows 운영 체제에서 제거되어야 합니다. 나중에 각 네트워크 리디렉터에서 필요한 연결 엔진 루틴(TDI 또는 다른 전송)을 개발할 책임이 있습니다. 예를 들어 WebDAV 리디렉터에서 일부 사용자 모드 리플렉터 프로세스와 통신하여 TDI가 아닌 HTTP 패킷(표준 TCP/IP)을 보낼 수 있습니다.

RDBSS 연결 엔진 루틴은 다음 엔터티를 처리합니다.

  • 전송

  • 전송 주소

  • 전송 연결

  • 연결의 가상 회로

전송은 모든 시스템의 다양한 전송 서비스 공급자에 대한 바인딩입니다. 전송 주소는 로컬 연결 끝점입니다. 연결은 엔드포인트 간의 전송 연결입니다. 각 연결은 여러 가상 회로(일반적으로 하나)를 캡슐화합니다.

RDBSS와 연결된 다양한 연결 엔진 루틴에 의해 다음과 같은 중요한 데이터 구조가 만들어지고 조작됩니다.

  • RXCE_TRANSPORT--전송에 대한 모든 매개 변수를 캡슐화합니다.

  • RXCE_ADDRESS--전송 주소에 대한 모든 매개 변수를 캡슐화합니다.

  • RXCE_CONNECTION--전송 연결에 대한 모든 매개 변수를 캡슐화합니다.

  • RXCE_VC--전송 연결에서 가상 회로에 대한 모든 매개 변수를 캡슐화합니다.

네트워크 미니 리다이렉터 드라이버는 이러한 데이터 구조를 사용하고 각 형식에 제공된 루틴을 호출하여 연결 엔진 부분을 빌드하고 분해할 수 있습니다. 이러한 루틴은 이러한 구조와 연결된 메모리를 할당하거나 해제하지 않습니다. 이렇게 하면 미니 리 디렉터 드라이버가 이러한 연결 엔진 데이터 구조의 인스턴스를 관리할 수 있는 유연한 메커니즘이 제공됩니다.

위에서 설명한 네 가지 연결 엔진 형식은 유효성 검사를 위해 RDBSS에서 광범위하게 사용되는 특수 RXCE_SIGNATURE 서명을 사용하여 각 데이터 구조의 시작 부분에 태그가 지정됩니다.

RDBSS는 네트워크 미니 리다이렉터 드라이버에서 사용할 수 있는 다음과 같은 연결 엔진 루틴을 제공합니다.

루틴에서 반환된 값 Description

RxCeAllocateIrpWithMDL

이 루틴은 연결 엔진에서 사용할 IRP를 할당하고 MDL을 IRP와 연결합니다.

이 루틴은 Windows XP에서만 사용할 수 있습니다.

RxCeBuildAddress

이 루틴은 전송 주소를 전송 바인딩과 연결합니다.

RxCeBuildConnection

이 루틴은 로컬 RDBSS 연결 주소와 지정된 원격 주소 간의 연결을 설정합니다. 이 루틴은 시스템 작업자 스레드의 컨텍스트에서 호출되어야 합니다.

RxCeBuildConnectionOverMultipleTransports

이 루틴은 로컬 RDBSS 연결 주소와 지정된 원격 주소 간의 연결을 설정하고 여러 전송을 지원합니다. 로컬 주소 집합이 지정되고 이 루틴은 로컬 주소와 연결된 모든 전송을 통해 대상 서버에 연결하려고 시도합니다. 연결 옵션에 따라 하나의 연결이 승자로 선택됩니다. 이 루틴은 시스템 작업자 스레드의 컨텍스트에서 호출되어야 합니다.

RxCeBuildTransport

이 루틴은 RDBSS 전송을 지정된 전송 이름에 바인딩합니다.

RxCeBuildVC

이 루틴은 지정된 연결에 가상 회로를 추가합니다.

RxCeCancelConnectRequest

이 루틴은 이전에 발급한 연결 요청을 취소합니다.

이 루틴은 현재 구현되지 않습니다.

RxCeFreeIrp

이 루틴은 연결 엔진에서 사용하는 IRP를 해제합니다.

이 루틴은 Windows XP에서만 사용할 수 있습니다.

RxCeInitiateVCDisconnect

이 루틴은 가상 회로에서 연결 끊기를 시작합니다. 이 루틴은 시스템 작업자 스레드의 컨텍스트에서 호출되어야 합니다.

RxCeQueryAdapterStatus

이 루틴은 지정된 전송에 대한 ADAPTER_STATUS 구조를 반환합니다.

RxCeQueryInformation

이 루틴은 연결과 관련된 정보를 쿼리합니다.

RxCeQueryTransportInformation

이 루틴은 지정된 전송에 대한 연결 수 및 서비스 품질에 대한 전송 정보를 반환합니다.

RxCeSend

이 루틴은 가상 회로에서 지정된 연결을 따라 TSDU를 보냅니다.

RxCeSendDatagram

이 루틴은 지정된 전송 주소로 TSDU를 보냅니다.

RxCeTearDownAddress

이 루틴은 전송 바인딩에서 전송 주소를 제거합니다.

RxCeTearDownConnection

이 루틴은 지정된 연결을 중단합니다.

RxCeTearDownTransport

이 루틴은 지정된 전송에서 바인딩 해제됩니다.

RxCeTearDownVC

이 루틴은 가상 연결을 중단합니다.

참고 TDI는 Windows Vista 이후의 Microsoft Windows 버전에서 지원되지 않습니다. 대신 Windows 필터링 플랫폼 또는 Winsock 커널 을 사용합니다.