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

Создает моникер файла на основе указанного пути.

Синтаксис

HRESULT CreateFileMoniker(
  [in]  LPCOLESTR lpszPathName,
  [out] LPMONIKER *ppmk
);

Параметры

[in] lpszPathName

Путь, на котором должен основываться этот моникер.

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

[out] ppmk

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

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

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

Код возврата Описание
S_OK
Моникер создан успешно.
MK_E_SYNTAX
В синтаксисе пути произошла ошибка.

Комментарии

CreateFileMoniker создает моникер для объекта, хранящегося в файле. Поставщик моникеров (объект, предоставляющий моникеры другим объектам) может вызывать эту функцию, чтобы создать моникер для идентификации файлового объекта, которым он управляет, а затем сделать указатель на этот моникер доступным для других объектов. Объект, идентифицируемый моникером файла, должен также реализовывать интерфейс IPersistFile , чтобы его можно было загрузить при привязке моникера файла.

Если каждый объект находится в отдельном файле, как в серверном приложении OLE, которое полностью поддерживает связывание только с файловым документом, моникеры файлов являются единственным необходимым типом моникера. Чтобы определить объекты меньше файла, поставщик моникеров должен использовать другой тип моникера (например, моникер элемента) в дополнение к моникерам файлов, создавая составной моникер. Составные моникеры потребуются в серверном приложении OLE, которое поддерживает связывание с объектами меньше документа (например, с разделами документа или внедренными объектами).

Моникер файла может быть составлен справа только от другого моникера файла, если первый моникер основан на абсолютном пути, а другой — относительный путь, что приводит к одному моникеру файла на основе сочетания двух путей. Моникер, состоящий справа от другого моникера, должен быть уточнением этого моникера, а моникер файла представляет собой самую большую единицу хранения. Для идентификации объектов, хранящихся в файле, необходимо создать другие типы моникеров (обычно моникеры элементов) справа от моникера файла.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header objbase.h
Библиотека Ole32.lib
DLL Ole32.dll
Набор API ext-ms-win-com-ole32-l1-1-4 (представлено в Windows 10 версии 10.0.14393)

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

IMoniker