Condividi tramite


Metodo IPersistFile::Save (objidl.h)

Salva una copia dell'oggetto nel file specificato.

Sintassi

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

Parametri

[in] pszFileName

Percorso assoluto del file in cui deve essere salvato l'oggetto. Se pszFileName è NULL, l'oggetto deve salvare i dati nel file corrente, se presente.

[in] fRemember

Indica se il parametro pszFileName deve essere usato come file di lavoro corrente. Se TRUE, pszFileName diventa il file corrente e l'oggetto deve cancellare il flag sporco dopo il salvataggio. Se FALSE, questa operazione di salvataggio è un'operazione Save A Copy As . In questo caso, il file corrente è invariato e l'oggetto non deve cancellare il flag sporco. Se pszFileName è NULL, l'implementazione deve ignorare il flag fRemember .

Valore restituito

Se l'oggetto è stato salvato correttamente, il valore restituito è S_OK. In caso contrario, è S_FALSE. Questo metodo può anche restituire vari errori di archiviazione.

Commenti

Questo metodo può essere chiamato per salvare un oggetto nel file specificato in uno dei tre modi seguenti:

L'implementer deve rilevare il tipo di operazione di salvataggio richiesto dal chiamante. Se il parametro pszFileName è NULL, viene richiesto un salvataggio . Se il parametro pszFileName non è NULL, usare il valore del parametro fRemember per distinguere tra salva con nome e salva con nome.

Nelle operazioni Salva o Salva con nome IPersistFile::Save cancella il flag sporco interno dopo il salvataggio e invia notifiche IAdviseSink::OnSave a qualsiasi connessione consultiva (vedere anche IOleAdviseHolder::SendOnSave). Inoltre, in queste operazioni, l'oggetto è in modalità NoScribble finché non riceve una chiamata IPersistFile::SaveCompleted . In modalità NoScribble l'oggetto non deve scrivere nel file.

Nello scenario Salva con nome l'implementazione deve anche inviare notifiche IAdviseSink::OnRename a qualsiasi connessione consultiva (vedere anche IOleAdviseHolder::SendOnRename).

Nello scenario Salva copia come l'implementazione non cancella il flag sporco interno dopo il salvataggio.

Note ai chiamanti

OLE non chiama IPersistFile::Save. In genere, le applicazioni non lo chiamano a meno che non salvano un oggetto in un file direttamente, che in genere viene lasciato all'utente finale.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objidl.h

Vedi anche

Ipersistfile