잔잔한 파도

  • 홈
  • 태그
  • 방명록

COM 2

Visual C++ 2005 CRT DLL 버전 충돌 문제

VS2005 CRT DLL(msvcp80.dll, msvcr80.dll)을 사용하는 COM 모듈을 개발할 때 설치 대상 PC에 .NET 2.0 SP1이나 .NET 3.0 SP1이 설치되어 있는 경우 COM 등록 시에 로드하는 CRT DLL 버전 8.0.50727.762를 side by side assemblies 기능에서 자동으로 8.0.50727.1433으로 리다이렉트해준다. 문제는 1433 버전으로 작동하는 경우 COM 등록이 안 되는 등의 에러가 발생한다. Isolated COM이나 Per-application Configuration(Windows XP, Windows Vista)으로도 해결할 수 있지만 가장 간단한 방법은 Private Assemblies로 항상 762 버전을 사용하도록 하는 것..

개발 2008.09.30

COM 인터페이스 포인터를 서로 다른 Apartment로 전달하기

멀티쓰레드 환경에서 COM을 사용할 때 서로 다른 쓰레드 간에 인터페이스 포인터를 넘겨서 사용하는 경우가 있을 수 있습니다. 이 때 Apartment Threaded인 경우 문제가 생깁니다. 서로 다른 Apartment로 인터페이스 포인터를 넘겨야 하는데 문제가 발생하는 경우가 있습니다. 이런 경우 Global Interface Table(GIT)을 사용하면 됩니다. 다음은 MS 기술자료(http://support.microsoft.com/kb/601770/ko)에 나와 있는 GIT 사용 단계입니다. 1. GIT 인스턴스를 생성합니다. IGlobalInterfaceTable *pGIT = NULL; ::CoCreateInstance (CLSID_StdGlobalInterfaceTable, NULL, CL..

개발 2007.06.27
이전
1
다음
더보기
  • 분류 전체보기
    • 개발
    • 팁
    • 관심
    • 일상
      • 캠핑
    • 기타
      • 노키아

Tag

개봉기, Windows 8.1, windows 8, flex, Microsoft Azure, Windows Vista, Visual Studio, 후기, 마이크로소프트, Adobe AIR, 서피스 RT, iphone, 프리웨어, Windows Azure, Windows 10, 설치, 아이폰, 스마트폰, IE8, 프로그래밍,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

방문자수Total

  • Today :
  • Yesterday :
방명록

  • 핀토소프트
  • 스타코덱
  • 소프트픽 자료실

티스토리툴바