IPersistStreamInit::Save 메서드(ocidl.h)
개체를 지정된 스트림에 저장합니다.
구문
HRESULT Save(
[in] LPSTREAM pStm,
[in] BOOL fClearDirty
);
매개 변수
[in] pStm
개체를 저장해야 하는 스트림에 대한 IStream 포인터입니다.
[in] fClearDirty
저장이 완료되면 변경 플래그를 지울지 여부를 나타냅니다. TRUE이면 플래그를 지워야 합니다. FALSE이면 플래그가 변경되지 않은 상태로 유지되어야 합니다.
반환 값
이 메서드는 다음 값을 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
메서드가 완료되었습니다. |
|
개체가 스트림에 자신을 저장할 수 없습니다. 예를 들어 이 오류는 개체에 스트림으로 직렬화할 수 없거나 ISequentialStream::Write 호출이 STG_E_CANTSAVE 반환된 다른 개체를 포함하고 있음을 나타낼 수 있습니다. |
|
스토리지 디바이스에 남은 공간이 없으므로 개체를 저장할 수 없습니다. |
설명
IPersistStreamInit::Save는 개체를 지정된 스트림에 저장하고 개체가 더티 플래그를 다시 설정해야 하는지 여부를 나타냅니다.
검색 포인터는 개체가 데이터 쓰기를 시작해야 하는 스트림의 위치에 배치됩니다. 개체는 ISequentialStream::Write 메서드를 호출하여 데이터를 작성합니다.
종료 시 개체 데이터를 바로 지나서 검색 포인터를 배치해야 합니다. 오류가 반환되면 검색 포인터의 위치가 정의되지 않습니다.
구현자에 대한 참고 사항
IPersistStreamInit::Save 메서드는 CLSID를 스트림에 쓰지 않습니다. 호출자는 CLSID를 작성합니다.IPersistStreamInit::Save 메서드는 스트림에서 읽고, 쓰고, 검색할 수 있습니다. 그러나 항목에 대한 검색 포인터 앞에 있는 스트림의 위치를 검색해서는 안됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ocidl.h |