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 |