Compartir a través de


Método IPersistFile::Save (objidl.h)

Guarda una copia del objeto en el archivo especificado.

Sintaxis

HRESULT Save(
  [in] LPCOLESTR pszFileName,
  [in] BOOL      fRemember
);

Parámetros

[in] pszFileName

Ruta de acceso absoluta del archivo al que se debe guardar el objeto. Si pszFileName es NULL, el objeto debe guardar sus datos en el archivo actual, si hay uno.

[in] fRemember

Indica si el parámetro pszFileName se va a usar como archivo de trabajo actual. Si es TRUE, pszFileName se convierte en el archivo actual y el objeto debe borrar su marca desfasada después de guardar. Si es FALSE, esta operación de guardado es una operación Guardar una copia como ... . En este caso, el archivo actual no cambia y el objeto no debe borrar su marca desfasada. Si pszFileName es NULL, la implementación debe omitir la marca fRemember .

Valor devuelto

Si el objeto se guardó correctamente, el valor devuelto se S_OK. De lo contrario, es S_FALSE. Este método también puede devolver varios errores de almacenamiento.

Comentarios

Se puede llamar a este método para guardar un objeto en el archivo especificado de tres maneras:

El implementador debe detectar qué tipo de operación de guardado solicita el autor de la llamada. Si el parámetro pszFileName es NULL, se solicita un save . Si el parámetro pszFileName no es NULL, use el valor del parámetro fRemember para distinguir entre un guardar como y un guardar como.

En las operaciones Guardar o Guardar como , IPersistFile::Save borra la marca desfasada interna después de guardar y envía notificaciones IAdviseSink::OnSave a cualquier conexión de asesoramiento (consulte también IOleAdviseHolder::SendOnSave). Además, en estas operaciones, el objeto está en modo NoScribble hasta que recibe una llamada IPersistFile::SaveCompleted . En el modo NoScribble, el objeto no debe escribir en el archivo.

En el escenario Guardar como , la implementación también debe enviar notificaciones IAdviseSink::OnRename a cualquier conexión de asesoramiento (consulte también IOleAdviseHolder::SendOnRename).

En el escenario Guardar una copia como , la implementación no borra la marca desfasada interna después de guardar.

Notas a los autores de llamadas

OLE no llama a IPersistFile::Save. Normalmente, las aplicaciones no lo llamarían a menos que guarden un objeto en un archivo directamente, que generalmente queda al usuario final.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objidl.h

Consulte también

IPersistFile