등록

사용자는 응용 프로그램에 OLE 항목을 삽입 하려고 하면 OLE에서 선택할 수 있는 개체 형식 목록을 제공 합니다.OLE는 시스템 등록 데이터베이스를 모든 서버 응용 프로그램에서 제공 하는 정보를 포함 합니다.이 목록을 가져옵니다.자체 서버를 등록할 때이 시스템 등록 데이터베이스 (레지스트리)에 엔트리는 제공 하는 개체의 각 형식에 설명, 파일 확장명 및 경로 자체를 다른 정보 들.

프레임 워크 및 OLE 시스템 동적 연결 라이브러리 (DLL)이이 레지스트리를 사용 하 여 시스템에서 사용 가능한 OLE 항목의 형식을 확인 합니다.OLE 시스템 Dll 연결 되거나 포함 된 개체를 활성화할 때 서버 응용 프로그램을 실행 하는 방법을 결정 하려면이 레지스트리도 사용 합니다.

각 서버 응용 프로그램 설치 시 할 사항에 대해 설명 하 고 실행할 때마다.

시스템 등록 데이터베이스 및이 업데이트 하는 데.reg 파일 형식에 대 한 자세한 내용은 OLE 프로그래머용 참조.

서버 설치

서버 응용 프로그램을 처음 설치 하면 모든 유형의 인터페이스를 지 원하는 OLE 항목을 등록 해야 합니다.독립 실행형 응용 프로그램으로 실행 될 때마다 시스템 등록 데이터베이스를 업데이트 하는 서버에 있을 수도 있습니다.등록 데이터베이스 서버의 실행 파일을 이동 하는 경우 최신 상태로 유지 합니다.

[!참고]

독립 실행형 응용 프로그램으로 실행할 때 자동으로 응용 프로그램 마법사에서 생성 된 MFC 응용 프로그램은 자신을 등록 합니다.

설치 하는 동안 응용 프로그램을 등록 하려면 RegEdit.exe 프로그램을 사용 합니다.(Windows 95, Windows 98 및 Windows ME에서 Windows 디렉터리에 RegEdit입니다.Windows NT 및 Windows 2000에서는 Regedit는 Windows System32 디렉터리에 있습니다.) 응용 프로그램과 함께 설치 프로그램을 포함 하는 경우 설치 프로그램을 실행 한 "RegEdit /S appname.reg".(/S 플래그 조용한 작동을 나타냅니다, 그리고 즉, 명령이 성공적으로 완료를 보고 하는 대화 상자를 표시 하지 않습니다.) 그렇지 않으면 Regedit를 수동으로 실행 하려면 사용자에 게 지시 합니다.

[!참고]

응용 프로그램 마법사에서 만든.reg 파일을 실행 파일의 전체 경로 포함 되지 않습니다.설치 프로그램은.reg 파일을 실행 파일의 전체 경로 포함 하거나 설치 디렉토리를 포함 하도록 PATH 환경 변수를 수정 하려면를 수정 해야 합니다.

Regedit는.reg 텍스트 파일의 내용을 등록 데이터베이스에 병합합니다.데이터베이스를 확인 하거나 복구 하려면 레지스트리 편집기를 사용 합니다.필수적인 OLE 엔트리를 삭제 하지 않도록 주의 하십시오.(Windows 95, Windows 98 및 Windows ME에서 RegEdit.exe 있는 레지스트리 편집기가입니다.Windows NT 및 Windows 2000에는 RegEdit32.exe입니다.)

서버 초기화

응용 프로그램 마법사에서 서버 응용 프로그램을 만들 때 마법사는 모든 초기화 작업을 자동으로 완료 됩니다.이 섹션에서는 서버 응용 프로그램을 직접 작성 하는 경우 수행 해야 할 설명 합니다.

서버 응용 프로그램이 컨테이너 응용 프로그램에 의해 시작 되 면 OLE 시스템 Dll 추가 "/embedding" 옵션이 서버의 명령줄에.서버 응용 프로그램의 동작을 응용 프로그램이 수행할 실행을 시작 하면 가장 먼저 확인 하므로 여부 컨테이너에 의해 시작 될 따라 다릅니다 있는 "/embedding" 또는 "-포함" 명령줄 옵션.이 스위치가 있으면 다양 한 서버 중에 활성인 것으로 표시 되는 리소스를 로드 하거나 완전히 엽니다.자세한 내용은 메뉴 및 리소스: 서버 추가.

또한 응용 프로그램 서버를 호출 해야 해당 CWinApp::RunEmbedded 명령줄을 구문 분석 하는 함수입니다.0이 아닌 값을 반환 하는 경우 컨테이너 응용 프로그램에서 독립 실행형 응용 프로그램으로 없습니다 실행 된 것 이므로 응용 프로그램 창을 표시 됩니다.이 함수 호출 및 시스템 등록 데이터베이스에서 서버 항목 업데이트는 RegisterAll 멤버 함수에서는 인스턴스를 등록에 대 한.

서버 응용 프로그램이 시작 되 면 인스턴스 등록을 수행할 수 있다는 것을 확인 해야 합니다.인스턴스 등록 OLE 시스템 Dll 서버 활성 및 컨테이너에서 요청을 받을 준비가 되어 있는지를 알려줍니다.등록 데이터베이스에 항목을 추가 하지 않습니다.인스턴스를 등록 하는 서버를 호출 하 여 수행의 ConnectTemplate 에 의해 정의 된 멤버 함수 COleTemplateServer.이 연결 되는 CDocTemplate 개체의 COleTemplateServer 개체입니다.

ConnectTemplate 함수는 세 매개 변수를 사용: 서버의 CLSID에 대 한 포인터를 CDocTemplate 개체 및 서버에서 여러 인스턴스를 지원 하는지 여부를 나타내는 플래그입니다.즉, 각 컨테이너에 대해 동시에 실행 하는 서버의 여러 인스턴스를 수 있어야에서 미니 여러 인스턴스를 지원할 수 있어야 합니다.따라서, 전달 TRUE 미니 서버를 시작할 때이 플래그.

미니 서버를 작성 하는 경우 정의 따라이 항상 컨테이너에 의해 시작 됩니다.여전히 "/embedding" 옵션이 있는지 확인 하는 명령줄을 분석 합니다.명령줄에이 옵션이 없을 경우 사용자 미니 서버는 독립 실행형 응용 프로그램으로 시작 하려고 했음을 의미 합니다.이런 경우 서버를 시스템 등록 데이터베이스에 등록 및 다음 미니 서버는 컨테이너 응용 프로그램에서 시작 해야 한다는 메시지 상자를 표시 합니다.

참고 항목

참조

CWinApp::RunAutomated

CWinApp::RunEmbedded

COleTemplateServer 클래스

개념

Mfc OLE

서버