IPersistFile::Save 메서드(objidl.h)

개체의 복사본을 지정된 파일에 저장합니다.

구문

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

매개 변수

[in] pszFileName

개체를 저장할 파일의 절대 경로입니다. pszFileNameNULL인 경우 개체는 해당 데이터를 현재 파일에 저장해야 합니다(있는 경우).

[in] fRemember

pszFileName 매개 변수를 현재 작업 파일로 사용할지 여부를 나타냅니다. TRUE이면 pszFileName이 현재 파일이 되고 개체는 저장 후 더티 플래그를 지워야 합니다. FALSE이면 이 저장 작업은 다른 이름으로 복사본 저장 ... 작업입니다. 이 경우 현재 파일은 변경되지 않으며 개체는 더티 플래그를 지워서는 안 됩니다. pszFileNameNULL인 경우 구현은 fRemember 플래그를 무시해야 합니다.

반환 값

개체가 성공적으로 저장되면 반환 값이 S_OK. 그렇지 않으면 S_FALSE. 이 메서드는 다양한 스토리지 오류를 반환할 수도 있습니다.

설명

다음 세 가지 방법 중 하나로 개체를 지정된 파일에 저장하기 위해 이 메서드를 호출할 수 있습니다.

구현자는 호출자가 요청하는 저장 작업의 유형을 검색해야 합니다. pszFileName 매개 변수가 NULL이면 저장이 요청됩니다. pszFileName 매개 변수가 NULL이 아닌 경우 fRemember 매개 변수 값을 사용하여 다른 이름으로 저장다른 이름으로 복사 저장을 구분합니다.

다른이름으로 저장 또는 저장 작업에서 IPersistFile::Save는 저장 후 내부 더티 플래그를 지우고 IAdviseSink::OnSave 알림을 모든 권고 연결에 보냅니다(IOleAdviseHolder::SendOnSave 참조). 또한 이러한 작업에서 개체는 IPersistFile::SaveCompleted 호출을 받을 때까지 NoScribble 모드에 있습니다. NoScribble 모드에서 개체는 파일에 쓰지 않아야 합니다.

다른 이름으로 저장 시나리오에서 구현은 모든 권고 연결에 IAdviseSink::OnRename 알림을 보내야 합니다(IOleAdviseHolder::SendOnRename 참조).

다른 이름으로 복사 저장 시나리오에서 구현은 저장 후 내부 더티 플래그를 지우지 않습니다.

발신자에 대한 참고 사항

OLE는 IPersistFile::Save를 호출하지 않습니다. 일반적으로 애플리케이션은 일반적으로 최종 사용자에게 남아 있는 파일에 개체를 직접 저장하지 않는 한 이를 호출하지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 objidl.h

추가 정보

IPersistFile