OleSave 함수(ole2.h)
트랜잭션 모드에서 열린 개체를 지정된 스토리지 개체에 저장합니다.
구문
HRESULT OleSave(
[in] LPPERSISTSTORAGE pPS,
[in] LPSTORAGE pStg,
[in] BOOL fSameAsLoad
);
매개 변수
[in] pPS
저장할 개체의 IPersistStorage 인터페이스에 대한 포인터입니다.
[in] pStg
pPS에 표시된 개체를 저장할 대상 스토리지 개체의 IStorage 인터페이스에 대한 포인터입니다.
[in] fSameAsLoad
TRUE 는 pStg 가 개체를 로드하거나 만든 것과 동일한 스토리지 개체임을 나타냅니다. FALSE 는 pStg 가 다른 스토리지 개체에서 로드되거나 생성되었음을 나타냅니다.
반환 값
이 함수는 성공에 대한 S_OK 반환합니다. 다른 가능한 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
디스크 공간이 부족하여 개체를 저장할 수 없습니다.
이 함수는 IPersistStorage::Save 메서드에서 반환하는 오류 값을 반환할 수도 있습니다. |
설명
OleSave 도우미 함수는 개체가 트랜잭션 모드로 열려 있는 일반적인 상황을 처리한 다음, OLE 제공 복합 파일 구현을 사용하는 지정된 스토리지 개체에 저장됩니다. 트랜잭션 모드는 IStorage::Commit 또는 IStorage::Revert가 호출될 때까지 개체에 대한 변경 내용이 버퍼링됨을 의미합니다. 호출자는 IPersistStorage 및 IStorage 인터페이스를 직접 호출하여 다른 상황을 처리할 수 있습니다.
OleSave 는 다음을 수행합니다.
- IPersist::GetClassID 메서드를 호출하여 개체의 CLSID를 가져옵니다.
- WriteClassStg 함수를 사용하여 CLSID를 스토리지 개체에 씁니다.
- IPersistStorage::Save 메서드를 호출하여 개체를 저장합니다.
- 저장에 오류가 없으면 입니다. 는 IStorage::Commit 메서드를 호출하여 변경 내용을 커밋합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ole2.h |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |
API 세트 | ext-ms-win-com-ole32-l1-1-3(Windows 10 버전 10.0.10240에 도입됨) |