다음을 통해 공유


DVC 플러그 인 등록

DVC(동적 가상 채널) 플러그 인은 다음 방법 중 하나를 사용하여 RDC(원격 데스크톱 연결) 클라이언트에서 사용하도록 등록됩니다.

  • RDP(원격 데스크톱 프로토콜) ActiveX 컨트롤의 IMsTscAdvancedSettings::p ut_PluginDlls 메서드를 호출합니다. 여러 항목을 쉼표로 구분해야 합니다.

  • RDC(원격 데스크톱 연결) 클라이언트 프로세스가 시작되는 컴퓨터의 레지스트리에서 다음 위치에 플러그 인 항목을 작성합니다.

    Hkey_current_user\소프트웨어\Microsoft\터미널 서버 클라이언트\기본\Addins\고유한 플러그 인 이름

    참고

    고유한 플러그 인 이름 하위 키가 없는 경우 만들어야 합니다. 고유한 플러그 인 이름 하위 키 이름은 플러그 인을 식별할 수 있는 임의의 문자열입니다. 문자열은 문자의 조합일 수 있습니다.

     

    고유한 플러그 인 이름 아래에 플러그 인을 식별하는 항목을 추가해야 합니다.

    항목 이름 = 이름

    데이터 형식 = REG_SZ 또는 REG_EXPAND_SZ

두 경우 모두 항목 값은 다음 형식 중 하나를 따라야 합니다.

"Plug-inDLLName:{CLSID}"

플러그 인이 반드시 Windows 레지스트리에 COM(구성 요소 개체 모델) 개체로 등록되지는 않지만 DLL은 In-process COM 개체로 구현됩니다. RDC 클라이언트는 Plug-inDLLName으로 지정된 DLL 을 로드하고 CLSID를 사용하여 COM 개체를 직접 검색합니다.

"Plug-inDLLName"

DLL은 VirtualChannelGetInstance 함수를 구현하고 이름으로 내보냅니다. RDC 클라이언트는 VirtualChannelGetInstance 함수를 사용하여 DLL에서 구현된 모든 플러그 인에 대한 IWTSPlugin 인터페이스 포인터를 가져옵니다.

"{CLSID}"

RDC 클라이언트는 CLSID와 함께 CoCreateInstance를 사용하여 플러그 인을 일반 COM 개체로 인스턴스화합니다.

참고

Plug-inDLLName 은 .dll 파일의 전체 경로 및 파일 이름을 나타냅니다. 데이터 형식이 REG_EXPAND_SZ 경우 경로에 런타임 시 확장되는 확장되지 않은 환경 변수가 포함될 수 있습니다.

 

RDC(원격 데스크톱 연결) 클라이언트가 초기화를 완료하면 등록된 모든 플러그 인에 대해 다음을 수행합니다.

  1. 위에서 설명한 방법 중 하나를 사용하여 각 플러그 인에 대한 IWTSPlugin 인터페이스의 instance 가져옵니다.
  2. IWTSPlugin 인터페이스의 Initialize 메서드를 호출합니다.
  3. 클라이언트가 동일한 서버 또는 다른 서버에 여러 번 연결하는 경우 연결연결 끊김 메서드에 대한 여러 호출이 있을 수 있습니다.
  4. 플러그 인이 처리해야 하는 마지막 호출은 Terminated입니다. RDC(원격 데스크톱 연결) 클라이언트가 플러그 인을 언로드하려고 한다는 신호입니다.