Select the product you need help with
Сервер автоматизации не может передать указатель реализации IPictureDisp объект изображения через границы процессовКод статьи: 150034 - Список продуктов, к которым относится данная статья. ПроблемаСервер автоматизации, реализующий объект рисунка в оболочку класса CPictureHolder в MFC происходит сбой при попытке передать указатель на реализацию IPictureDisp объект изображения через границы процессов. ПричинаIPictureDisp получает доступ к методам объекта рисунка, который не может маршалироваться через границы процессов. Например, IPictureDisp поддерживает DISPID_PICT_RENDER для доступа к методу обработки изображения объекта. Метод Render принимает дескриптор контекста устройства, в качестве первого параметра. Дескрипторы контекста устройства, не могут быть упакованы. Диспетчерские интерфейсы могут быть маршалировать обычно с помощью интерфейса IDispatch, маршалинга кода, но рисунок объект реализует IMarshal специально для маршалинга сбой. СтатусТакое поведение является особенностью данного продукта.. Дополнительная информацияClassWizard в Visual C++ позволяет выбрать LPPICTUREDISP возвращаемый тип метода. Этот метод может возвращать IPictureDisp интерфейс получить, вызвав CPictureHolder::GetPictureDispatch. Тем не менее если этот метод вызывается с помощью контроллера в другой процесс, метод завершается неудачей и возвращает код ошибки E_FAIL. Поскольку объект рисунок маршалинг IPictureDisp сбой, проблемы также может возникать при попытке получить интерфейс IPictureDisp через границы потоков в объекте модели апартамента нескольких потоков. СсылкиДля получения дополнительных сведений о маршалинге обратитесь к "Inside OLE," второй выпуск, Kraig Brockschmidt, главы 6, «Прозрачность локального или удаленного», опубликованное Microsoft Press. СвойстваКод статьи: 150034 - Последнее изменение :: 13 ноября 2010 г. - Редакция: 2.0 Информация в данной статье относится к следующим продуктам.
Переведено с помощью машинного перевода ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода. Эта статья на английском языке:150034
(http://support.microsoft.com/kb/150034/en-us/
)
|




Перейти к началу страницы








