다음을 통해 공유


전송 구성 및 설치

Windows 소켓을 통해 전송 프로토콜에 액세스할 수 있도록 하려면 시스템에 올바르게 설치되고 Windows 소켓에 등록되어야 합니다. 공급업체의 설치 프로그램을 호출하여 전송 서비스 공급자를 설치하는 경우 구성 정보를 구성 데이터베이스에 추가하여 서비스 공급자에 대한 Ws2_32.dll 필수 정보를 제공해야 합니다. 이 Ws2_32.dll 공급업체의 설치 프로그램이 설치할 서비스 공급자에 대한 관련 정보를 제공하기 위해 여러 설치 기능인 WSCInstallProviderWSCInstallProviderAndChains를 내보냅니다. 이 정보에는 예를 들어 서비스 공급자 DLL의 이름 및 경로와 이 공급자가 지원할 수 있는 WSAPROTOCOL_INFO 구조 목록이 포함됩니다. 또한 Ws2_32.dll 공급업체의 제거 프로그램에 대한 WSCDeinstallProvider 함수를 제공하여 Ws2_32.dll 유지 관리하는 구성 데이터베이스에서 모든 관련 정보를 제거합니다. 이 구성 정보의 정확한 위치와 형식은 Ws2_32.dll 비공개이며 위에서 언급한 함수에서만 조작할 수 있습니다.

64비트 플랫폼에는 32비트 및 64비트 카탈로그에서 작동하는 유사한 함수가 있습니다. 이러한 함수에는 WSCInstallProvider64_32, WSCInstallProviderAndChains64_32WSCDeinstallProvider32가 포함됩니다.

전송 서비스 공급자가 처음 설치되는 순서는 서비스 공급자 인터페이스의 WSCEnumProtocols 및 WSCEnumProtocols32를 통해 열거되거나 애플리케이션 인터페이스의 WSAEnumProtocols를 통해 열거되는 순서를 제어합니다. 더 중요한 것은 이 주문은 클라이언트가 주소 패밀리, 형식 및 프로토콜 식별자를 기반으로 소켓 만들기를 요청할 때 프로토콜 및 서비스 공급자가 고려되는 순서를 제어합니다. Windows Sockets 2에는 설치된 프로토콜 카탈로그를 프로토콜이 이미 설치된 후 대화형으로 다시 정렬할 수 있는 Sporder.exe 라는 애플릿이 포함되어 있습니다. Windows Sockets 2에는 프로토콜 다시 정렬을 위한 절차 인터페이스를 내보내는 보조 DLL Sporder.dll 포함되어 있습니다. 이 절차 인터페이스는 WSCWriteProviderOrder라는 단일 프로시저로 구성됩니다.

계층화된 프로토콜 및 프로토콜 체인 설치

설치할 각 프로토콜과 함께 제공되는 WSAPROTOCOL_INFO 구조는 프로토콜이 기본 프로토콜, 계층화된 프로토콜 또는 프로토콜 체인인지 여부를 나타냅니다. ProtocolChain.ChainLen 매개 변수의 값은 다음 표와 같이 해석됩니다.

의미
0 계층화된 프로토콜.
1 기본 프로토콜(또는 하나의 구성 요소만 있는 체인).
>1 프로토콜 체인.

 

프로토콜 체인 설치는 모든 구성 요소(기본 프로토콜 및 계층화된 프로토콜)를 성공적으로 설치한 후에만 발생할 수 있습니다. 프로토콜 체인의 WSAPROTOCOL_INFO 구조는 ProtocolChain 매개 변수를 사용하여 체인의 길이와 각 구성 요소의 ID를 설명합니다. 체인을 구성하는 개별 프로토콜은 첫 번째 계층화된 공급자에 해당하는 배열의 0번째 요소와 함께 ProtocolChain.ChainEntries 배열에 순서대로 나열됩니다. 프로토콜은 프로토콜 설치 시 Ws2_32.dll 할당한 CatalogEntryID 값으로 식별되며 각 프로토콜의 WSAPROTOCOL_INFO 구조에서 찾을 수 있습니다.

프로토콜 체인의 WSAPROTOCOL_INFO 구조에 있는 나머지 매개 변수의 값은 프로토콜 체인 전체의 특징을 가장 잘 나타내는 특성 및 식별자를 반영하도록 선택해야 합니다. 이러한 값을 선택할 때 개발자는 프로토콜 체인을 통한 통신은 두 엔드포인트에 호환되는 프로토콜 체인이 설치된 경우에만 발생할 수 있으며 애플리케이션이 해당 WSAPROTOCOL_INFO 구조를 인식할 수 있어야 한다는 점에 유의해야 합니다.

기본 프로토콜이 설치되면 ProtocolChain.ChainEntries 배열에 항목을 만들 필요가 없습니다. 이 체인의 유일한 구성 요소는 동일한 WSAPROTOCOL_INFO 구조체의 CatalogEntryID 매개 변수에서 이미 식별된 것으로 암시적으로 이해됩니다. 또한 프로토콜 체인에는 동일한 계층화된 프로토콜의 여러 인스턴스가 포함되지 않을 수 있습니다.