Поделиться через


Клиенты Moniker

Клиенты Moniker должны начать с получения моникера, и существует несколько способов для моникера клиента, чтобы получить моникер. Например, в составных документах OLE, когда конечный пользователь создает связанный элемент (с помощью диалогового окна вставки объекта , буфера обмена или перетаскивания), моникер внедряется как часть связанного элемента. В этом случае программист имеет минимальный контакт с моникерами. Программным образом, если у вас есть указатель интерфейса на объект, реализующий интерфейс IMoniker , можно использовать его для получения моникера и есть методы на других интерфейсах, определенных для возврата моникеров.

Существуют различные виды моникеров, которые используются для идентификации различных видов объектов, но для моникера клиента все моникеры выглядят одинаково. Клиент моникера просто вызывает IMoniker::BindToObject на моникере и получает указатель интерфейса на объект, который идентифицирует моникер. Независимо от того, определяет ли моникер объект как большой, как всю электронную таблицу или как небольшую ячейку в электронной таблице, вызывая BindToObject , вернет указатель на этот объект. Если объект уже запущен, BindToObject найдет его в памяти. Если объект хранится пассивно на диске, BindToObject найдет сервер для этого объекта, запустить сервер и перенести объект в состояние выполнения. Все сведения о процессе привязки скрыты от моникера клиента. Таким образом, для моникера клиент, использующий моникер, очень прост.

Поставщики Моникера

Реализации OLE Moniker