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


Функция MonikerRelativePathTo (objbase.h)

Предоставляет моникер, который при составлении на конце первого указанного моникера (или с аналогичной структурой) возвращает второй указанный моникер.

Эта функция предназначена только для реализации IMoniker::RelativePathTo .

Синтаксис

HRESULT MonikerRelativePathTo(
  [in]  LPMONIKER pmkSrc,
  [in]  LPMONIKER pmkDest,
  [out] LPMONIKER *ppmkRelPath,
  [in]  BOOL      dwReserved
);

Параметры

[in] pmkSrc

Указатель на интерфейс IMoniker в моникере, который, если он состоит из создаваемого относительного моникера, создает pmkDest. Этот моникер определяет источник создаваемого относительного моникера.

[in] pmkDest

Указатель на интерфейс IMoniker в моникере, который будет выражен относительно pmkSrc. Этот моникер определяет назначение создаваемого относительного моникера.

[out] ppmkRelPath

Адрес переменной указателя IMoniker*, которая получает указатель интерфейса на новый относительный моникер. При успешном выполнении функция вызывает AddRef для моникера, и вызывающий объект отвечает за вызов Release. При возникновении ошибки значение указателя интерфейса равно NULL.

[in] dwReserved

Этот параметр зарезервирован и должен быть ненулевым.

Возвращаемое значение

Эта функция может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и E_UNEXPECTED, а также следующие значения.

Код возврата Описание
S_OK
Возвращен значимый относительный путь.
MK_S_HIM
Единственной формой относительного пути является другой моникер.
MK_E_NOTBINDABLE
Параметр pmkSrc является относительным моникером, таким как моникер элемента, и должен быть составлен с моникером своего контейнера, прежде чем можно будет определить относительный путь.

Комментарии

Реализация IMoniker::RelativePathTo должна сначала проверка, относится ли другой моникер к типу, который вы распознаете и обрабатываете особым образом. В противном случае следует вызвать monikerRelativePathTo, передав себя как pmkThis , а другой моникер — pmkOther. MonikerRelativePathTo правильно обрабатывает случаи, когда любой моникер является универсальным составным.

Эту функцию следует вызывать только в том случае, если pmkSrc и pmkDest являются абсолютными моникерами, где абсолютный моникер — это моникер файла или универсальный составной элемент, крайний левый компонент которого является моникером файла, а моникер файла представляет абсолютный путь. Не вызывайте эту функцию на относительные моникеры.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header objbase.h
Библиотека Ole32.lib
DLL Ole32.dll

См. также раздел

IMoniker::RelativePathTo