Функция MonikerCommonPrefixWith (objbase.h)
Создает новый моникер на основе общего префикса, который этот моникер (тот, который состоит из данных этого объекта моникера) совместно используется с другим моникером.
Эта функция предназначена для вызова только в реализациях IMoniker::CommonPrefixWith.
Синтаксис
HRESULT MonikerCommonPrefixWith(
[in] LPMONIKER pmkThis,
[in] LPMONIKER pmkOther,
[out] LPMONIKER *ppmkCommon
);
Параметры
[in] pmkThis
Указатель на интерфейс IMoniker на одном из моникеров, для которого иском общий префикс; обычно моникер, в котором этот вызов используется для реализации IMoniker::CommonPrefixWith.
[in] pmkOther
Указатель на интерфейс IMoniker в моникере для сравнения с первым моникером.
[out] ppmkCommon
Адрес переменной указателя IMoniker*, которая получает указатель интерфейса на моникер на основе общего префикса pmkThis и pmkOther. При успешном выполнении функция вызывает AddRef для моникера, а вызывающий объект отвечает за вызов Release. При возникновении ошибки указанное значение указателя интерфейса равно NULL.
Возвращаемое значение
Эта функция может возвращать стандартные возвращаемые значения E_OUTOFMEMORY и E_UNEXPECTED, а также следующие значения.
Код возврата | Описание |
---|---|
|
Существует общий префикс, который не является ни pmkThis, ни pmkOther. |
|
Весь моникер pmkOther является префиксом моникера pmkThis . |
|
Весь моникер pmkThis является префиксом моникера pmkOther . |
|
PmkThis и pmkДругие моникеры равны. |
|
Моникеры не имеют общего префикса. |
|
Эта функция была вызвана на относительном моникере. Не имеет смысла принимать общий префикс относительных моникеров. |
Комментарии
Реализация IMoniker::CommonPrefixWith должна сначала проверка, имеет ли другой моникер тип, который вы распознаете и обрабатываете особым образом. Если нет, следует вызвать monikerCommonPrefixWith, передав себя как pmkThis , а другой моникер как pmkOther. MonikerCommonPrefixWith правильно обрабатывает случаи, когда любой моникер является универсальным составным.
Эту функцию следует вызывать, только если pmkThis и pmkOther являются абсолютными моникерами (где абсолютный моникер — это либо файловый моникер, либо универсальный составной элемент, левый компонент которого является моникером файла, а моникер файла представляет абсолютный путь). Не вызывайте эту функцию для относительных моникеров.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | objbase.h |
Библиотека | Ole32.lib |
DLL | Ole32.dll |