Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Реалізація виклику віддалених процедур за технологією DCOM

Реферат Реалізація виклику віддалених процедур за технологією DCOM





о суті, це той же GUID) і вказує на інший покажчик, який, у свою чергу, вказує на таблицю, яка містить адреси реалізації кожної функції з цієї групи ( рис.8).


В 

Рис. 8 - Структура інтерфейсу


Ця структура дозволяє забезпечити маршалинга - пересилку покажчика між процесами (і в загальному випадку між комп'ютерами).

Реалізація інтерфейсу COM-об'єкта являє собою створення в пам'яті подібної структури та надання покажчика на неї. Фактично така структура схожа на структуру, що використовується для побудови таблиць віртуальних функцій в C + +, тому таблиця покажчиків на функції в цій структурі іноді називається "vtable" (або таблицею віртуальних методів). p align="justify"> Досить істотно, що адреси самих функцій визначаються на етапі виконання за допомогою покажчика на інтерфейс у момент звернення до них, а не зберігаються в пам'яті статично. Відзначимо також, що за наявності покажчика на функцію в таблиці покажчиків завжди існує і її реалізація, тому клієнт не повинен ні обробляти повідомлень про звернення до неіснуючих функціями, ні мати власної версії їх реалізації. p align="justify"> Коли клієнтові потрібна COM-об'єкт, він намагається знайти сервер, посилає серверу запит на створення об'єкта, а потім одержує від нього покажчик на вихідний інтерфейс, за допомогою якого можна отримати додаткові покажчики на інші інтерфейси цього об'єкта. знаходить місце розташування сервера на підставі запису в реєстрі, завантажує його в оперативну пам'ять, запитує у сервера потрібний об'єкт (ініціюючи його створення) і отримує покажчик на інтерфейс. Якщо сервер і клієнт виконуються в різних процесах, COM автоматично передає покажчик на інтерфейс в процес клієнта. p align="justify"> маршалинга і віддалений доступ

Якщо сервер є внутрішнім ("in-process"), тобто виконаним у вигляді DLL, вона завантажується в адресний простір клієнта за допомогою функції Win32 API LoadLibrary. У цьому випадку значення покажчика на інтерфейс безпосередньо доступно клієнту. p align="justify"> Якщо сервер локальний, COM використовує функцію CreateProcess, завантажуючи виконуваний файл і ініціалізувавши COM в адресному просторі останнього. Потім COM в процесі сервера зв'язується з COM в процесі клієнта яких-небудь доступним способом. У цьому випадку зазвичай немає можливості передати клієнту точне значення покажчика на інтерфейс, так як це покажчик на об'єкт в іншому адресному просторі. У цьому випадку використовується маршалинга, що створює так званий "marshalling packet", що містить необхідну інформацію для з'єднання з процесом, в якому створено об'єкт. Цей пакет створюється за допомогою функції COM API CoMarshalInterface, потім він передається процесу клієнта будь-яким доступним способом, де інша функція CoUnMarshalInterface перетворює цей пакет в покажчик на інтерфейс. Насправді маршалинга створює в обох адресних ...


Назад | сторінка 9 з 25 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Паралельний інтерфейс IEEE 1284 (інтерфейс Centronics)
  • Реферат на тему: Архітектура Клієнт / сервер. Поняття виділеного сервера. Види серверів
  • Реферат на тему: VHDL модель схеми реалізації захіщеної передачі даніх через послідовний інт ...
  • Реферат на тему: Створення на мові програмування Java аплету, реалізуючого інтерфейс Gnumeri ...
  • Реферат на тему: Програмна реалізація графічного методу розв'язання задач нелінійного пр ...