Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Создает моникер элемента, который идентифицирует объект внутри содержащего объекта (обычно составного документа).
Синтаксис
HRESULT CreateItemMoniker(
[in] LPCOLESTR lpszDelim,
[in] LPCOLESTR lpszItem,
[out] LPMONIKER *ppmk
);
Параметры
[in] lpszDelim
Указатель на широкую строку символов (два байта на символ), завершающуюся с нуля, содержащую разделитель (обычно "!"), используемый для отделения отображаемого имени этого элемента от отображаемого имени содержащего его объекта.
[in] lpszItem
Указатель на строку с нулем, указывающую имя содержащего объекта для идентифицируемого объекта. Позже это имя можно использовать для получения указателя на объект в вызове IOleItemContainer::GetObject.
[out] ppmk
Адрес переменной указателя IMoniker*, которая получает указатель интерфейса на моникер элемента. При успешном выполнении функция вызывает AddRef для моникера элемента, а вызывающий объект отвечает за вызов Release. При возникновении ошибки указанный указатель интерфейса имеет значение NULL .
Возвращаемое значение
Эта функция может возвращать стандартные возвращаемые значения E_OUTOFMEMORY и S_OK.
Комментарии
Поставщик моникеров, который раздает моникеры для идентификации своих объектов, чтобы они были доступны другим сторонам, будет вызывать CreateItemMoniker для идентификации своих объектов с помощью моникеров элементов. Моникеры элементов основаны на строке и определяют объекты, которые содержатся в другом объекте и могут быть идентифицированы по отдельности с помощью строки. Содержащий объект также должен реализовывать интерфейс IOleContainer .
Большинство поставщиков моникеров являются приложениями OLE, поддерживающими связывание. Приложения, поддерживающие связывание с объектами меньше файловых документов, например серверное приложение, которое позволяет связывать фрагмент в документе, должны использовать моникеры элементов для идентификации объектов. Приложения-контейнеры, которые позволяют связываться с внедренным объектами, используют моникеры элементов для идентификации внедренных объектов.
Параметр lpszItem — это имя, используемое документом для уникальной идентификации объекта. Например, если идентифицируемый объект является диапазоном ячеек в электронной таблице, подходящим именем может быть "A1:E7". Подходящее имя, если идентифицируемый объект является внедренным объектом, может быть чем-то вроде embedobj1. Содержащий объект должен предоставлять реализацию интерфейса IOleItemContainer , который может интерпретировать это имя и находить соответствующий объект. Это позволяет привязать моникер элемента к объекту, который он идентифицирует.
Моникеры элементов не используются изолированно. Они должны быть составлены с помощью моникера, который также идентифицирует содержащий объект. Например, если идентифицируемый объект является диапазоном ячеек, содержащимся в документе на основе файла, моникер элемента, определяющий этот объект, должен быть составлен с моникером файла, определяющим этот документ, в результате чего создается составной моникер, эквивалентный "C:\work\sales.xls! A1:E7.
Вложенные контейнеры также разрешены, как и в случае, когда объект содержится во внедренном объекте внутри другого документа. Полный моникер такого объекта будет эквивалентен "C:\work\report.doc!embedobj1! A1:E7. В этом случае каждый содержащий объект должен вызывать CreateItemMoniker и предоставлять собственную реализацию интерфейса IOleItemContainer .
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | objbase.h |
| Библиотека | Ole32.lib |
| DLL | Ole32.dll |
| Набор API | ext-ms-win-com-ole32-l1-1-0 (представлено в Windows 8) |