Метод IPersistFile::Load (objidl.h)

Открывает указанный файл и инициализирует объект из содержимого файла.

Синтаксис

HRESULT Load(
  [in] LPCOLESTR pszFileName,
  [in] DWORD     dwMode
);

Параметры

[in] pszFileName

Абсолютный путь к открываемой папке.

[in] dwMode

Режим доступа, используемый при открытии файла. Возможные значения взяты из перечисления STGM . Метод может рассматривать это значение как предложение, добавляя при необходимости более строгие разрешения. Если dwMode имеет значение 0, реализация должна открыть файл с любыми разрешениями по умолчанию, используемыми при открытии файла пользователем.

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

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

Код возврата Описание
S_OK
Метод завершился успешно.
E_OUTOFMEMORY
Не удалось загрузить объект из-за нехватки памяти.
E_FAIL
Не удалось загрузить объект по какой-либо причине, кроме нехватки памяти.

Комментарии

IPersistFile::Load загружает объект из указанного файла. Этот метод предназначен только для инициализации и не показывает объект конечному пользователю. Это не равносильно тому, что происходит при выборе пользователем команды Открыть файл .

Примечания к вызывающим абонентам

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

Примечания для разработчиков

Поскольку сведения, необходимые для открытия файла, сильно различаются в разных приложениях, объект, в котором реализуется этот метод, также должен открыть файл, указанный параметром pszFileName . Это отличается от IPersistStorage::Load и IPersistStream::Load, в которых вызывающий объект открывает хранилище или поток, а затем передает открытое хранилище или указатель потока на загруженный объект.

Для приложения, которое обычно использует составные файлы OLE, реализация IPersistFile::Load может просто вызвать функцию StgOpenStorage , чтобы открыть объект хранилища в указанном файле. Затем можно приступить к нормальной инициализации. Приложения, которые не используют объекты хранилища, могут выполнять обычные процедуры открытия файлов.

После загрузки объекта реализация должна зарегистрировать его в таблице выполняющихся объектов (см. раздел IRunningObjectTable::Register).

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header objidl.h

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

IPersistFile