Метод IPersistFile::GetCurFile (objidl.h)
Извлекает текущее имя файла, связанного с объектом . Если текущий рабочий файл отсутствует, этот метод получает запрос на сохранение объекта по умолчанию.
Синтаксис
HRESULT GetCurFile(
[out] LPOLESTR *ppszFileName
);
Параметры
[out] ppszFileName
Путь к текущему файлу или запрос имени файла по умолчанию (например, *.txt). При возникновении ошибки параметру ppszFileName присваивается значение NULL.
Возвращаемое значение
Этот метод может возвращать следующие значения.
Код возврата | Описание |
---|---|
|
Был успешно возвращен допустимый абсолютный путь. |
|
Возвращен запрос на сохранение по умолчанию. |
|
Операция завершилась сбоем из-за нехватки памяти. |
|
Операция завершилась сбоем по какой-либо причине, кроме нехватки памяти. |
Комментарии
Этот метод выделяет память для строки, возвращаемой в параметре ppszFileName с помощью метода IMalloc::Alloc . Вызывающий объект отвечает за вызов метода IMalloc::Free для освобождения строки. И вызывающий, и этот метод используют распределитель задач OLE, предоставляемый вызовом CoGetMalloc.
Имя файла, возвращаемое в ppszFileName , — это имя, указанное в вызове IPersistFile::Load при загрузке документа; или в IPersistFile::SaveCompleted, если документ был сохранен в другом файле.
Если у объекта нет текущего рабочего файла, он должен предоставить запрос по умолчанию, который будет отображаться в диалоговом окне Сохранить как . Например, запрос на сохранение по умолчанию для объекта текстового процессора может иметь значение
"*.txt".
Примечания к вызывающим абонентам
OLE не вызывает метод GetCurFile . Приложения не будут вызывать этот метод, если они также не вызывают методы сохранения этого интерфейса.При сохранении объекта можно вызвать этот метод перед вызовом IPersistFile::Save , чтобы определить, имеет ли объект связанный файл. Если этот метод возвращает S_OK, можно вызвать метод IPersistFile::Save с именем файла NULL и значением TRUE для параметра fRemember , чтобы сообщить объекту о необходимости сохранения в текущем файле. Если этот метод возвращает S_FALSE, можно использовать запрос на сохранение, возвращенный в параметре ppszFileName , чтобы попросить пользователя ввести имя файла. Затем можно вызвать метод IPersistFile::Save с именем файла, введенным пользователем для выполнения операции "Сохранить как ".
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | objidl.h |