Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Находит объект с помощью его моникера, активирует объект, если он неактивен, и извлекает указатель на указанный интерфейс для этого объекта.
Синтаксис
HRESULT BindMoniker(
[in] LPMONIKER pmk,
[in] DWORD grfOpt,
[in] REFIID iidResult,
[out] LPVOID *ppvResult
);
Параметры
[in] pmk
Указатель на моникер объекта. См. раздел IMoniker.
[in] grfOpt
Этот параметр зарезервирован для использования в будущем и должен иметь значение 0.
[in] iidResult
Идентификатор интерфейса, используемый для взаимодействия с объектом .
[out] ppvResult
Адрес переменной указателя, получающей указатель интерфейса, запрошенный в iidResult. После успешного возврата *ppvResult содержит запрошенный указатель интерфейса. Если возникает ошибка, *ppvResult имеет значение NULL. Если вызов выполнен успешно, вызывающий объект отвечает за освобождение указателя с помощью вызова метода IUnknown::Release объекта.
Возвращаемое значение
Эта функция может возвращать следующие коды ошибок или любые значения ошибок, возвращаемые методом IMoniker::BindToObject .
| Код возврата | Описание |
|---|---|
|
Объект был найден и активирован при необходимости, а также возвращен указатель на запрошенный интерфейс. |
|
Не удалось найти объект моникера. |
Комментарии
BindMoniker — это вспомогательная функция, предоставляемая в качестве удобного для клиента, имеющего моникер объекта, для получения указателя на один из интерфейсов этого объекта. BindMoniker упаковывает следующие вызовы:
CreateBindCtx(0, &pbc);
pmk->BindToObject(pbc, NULL, riid, ppvObj);
CreateBindCtx создает объект контекста привязки, который поддерживает системную реализацию IBindContext. Параметр pmk фактически является указателем на реализацию IMoniker в объекте моникера. Метод BindToObject этой реализации предоставляет указатель на запрошенный указатель интерфейса.
Если у вас есть несколько моникеров для быстрой последовательности и если вы знаете, что эти моникеры активируют один и тот же объект, может быть эффективнее вызвать метод IMoniker::BindToObject напрямую, что позволяет использовать один и тот же объект контекста привязки для всех моникеров. Дополнительные сведения см. в интерфейсе IBindCtx .
Контейнеры приложений, которые позволяют своим документам содержать связанные объекты, являются специальным клиентом, который, как правило, не выполняет прямые вызовы методов IMoniker . Вместо этого клиент управляет связанными объектами через интерфейс IOleLink . Обработчик по умолчанию реализует этот интерфейс и вызывает соответствующие методы IMoniker по мере необходимости.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | objbase.h |
| Библиотека | Ole32.lib |
| DLL | Ole32.dll |
| Набор API | ext-ms-win-com-ole32-l1-1-5 (появилось в Windows 10 версии 10.0.15063) |