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


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

Создает и возвращает новый антимоникер.

Синтаксис

HRESULT CreateAntiMoniker(
  [out] LPMONIKER *ppmk
);

Параметры

[out] ppmk

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

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

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

Комментарии

Эту функцию следует вызывать только в том случае, если вы пишете собственный класс моникера (реализуя интерфейс IMoniker ). Если вы создаете новый класс моникера без внутренней структуры, можно использовать CreateAntiMoniker в реализации метода IMoniker::Inverse, а затем проверка для антимоникера в реализации IMoniker::ComposeWith.

Как и каталог "..", который выступает в качестве обратного для любого имени каталога, непосредственно предшествующего ему в пути, анти-моникер выступает в качестве обратного простого моникера, который предшествует ему в составном монике. Анти-моникер используется в качестве обратного простых моникеров без внутренней структуры. Например, предоставляемые системой реализации файловых моникеров, моникеров элементов и указателей используют антимоникеры в качестве обратного; следовательно, анти-моникер, составленный справа от одного из этих моникеров, не составляет ничего.

Клиент моникера (объект, использующий моникер для привязки к другому объекту) обычно не знает класс данного моникера, поэтому клиент не может быть уверен, что антимоникер является обратным. Таким образом, чтобы получить обратный моникер, следует вызвать IMoniker::Inverse , а не CreateAntiMoniker.

Чтобы удалить последнюю часть составного моникера, выполните следующие действия.

  1. Вызовите метод IMoniker::Enum в составном объекте, указав FALSE в качестве первого параметра. При этом создается перечислитель, который возвращает моникеры компонента в обратном порядке.
  2. Используйте перечислитель для получения последнего фрагмента составной части.
  3. Вызовите IMoniker::Inverse для этого моникера. Моникер, возвращенный inverse , удаляет последний фрагмент составного элемента.

Требования

Требование Значение
Минимальная версия клиента 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)

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

IMoniker