자동화 서버 포인터를 그림 개체 IPictureDisp 구현 프로세스 경계 너머로 전달할 수 없습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 150034 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

현상

포인터를 그림 개체 IPictureDisp 구현 프로세스 경계 너머로 전달할 때 MFC CPictureHolder 클래스에 래핑된 그림 개체를 구현하는 자동화 서버가 실패합니다.

원인

IPictureDisp은 프로세스 경계를 넘어 마샬링될 수 없는 그림 개체의 메서드 액세스를 얻게 됩니다. 예를 들어, 그림 Render 메서드를 액세스할 수 DISPID_PICT_RENDER IPictureDisp 지원하는 개체입니다. Render 메서드를 디바이스 컨텍스트에 핸들을 첫 번째 매개 변수로 사용합니다. 장치 컨텍스트 핸들은 마샬링할 수 없습니다.

디스패치 인터페이스 코드, 마샬링 IDispatch 사용하여 정상적으로 배열된 수 있습니다 있지만 특히 해당 마샬링 장애를 일으킬 IMarshal 그림 개체를 구현합니다.

현재 상태

이것은 의도적으로 설계된 동작입니다.

추가 정보

Visual C++ 에서 클래스 LPPICTUREDISP 메서드에 대한 반환 형식을 선택할 수 있습니다. 이 메서드는 해당 IPictureDisp 반환할 수 CPictureHolder::GetPictureDispatch 호출하여 인터페이스 얻은. 그러나 다른 프로세스에서 실행 중인 컨트롤러에 의해 이 메서드를 호출하면 메서드가 실패하고 E_FAIL 오류 코드가 반환됩니다.

또한 그림 개체 실패할 수 있는 IPictureDisp 마샬링 인해 문제가 다중 스레드 아파트 모델 개체 스레드 경계를 넘어 IPictureDisp 인터페이스를 가져올 때 발생할 수 있습니다.

참조

마샬링 방법에 대한 자세한 내용은 "안쪽 OLE," Kraig Brockschmidt, 6장, "로컬/원격 투명도" 두 번째 버전은 Microsoft Press에서 게시한 참조하십시오.

속성

기술 자료: 150034 - 마지막 검토: 2014년 2월 27일 목요일 - 수정: 3.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Foundation Class Library 4.2?을(를) 다음과 함께 사용했을 때
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 4.1 Subscription
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
    • Microsoft OLE Control Developer's Kit (CDK)
키워드:?
kbnosurvey kbarchive kbmt kbtshoot kbautomation kbbitmap kbctrl kbprb KB150034 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com