
COMPersistHelper::SaveToStream은 OLE 컴포넌트의 상태를 저장하는 메서드입니다. 이 메서드를 호출하여 컴포넌트의 상태를 저장하려면, 컴포넌트가 OLE의 Persist 인터페이스를 구현해야 합니다.
Persist 인터페이스는 컴포넌트의 상태를 저장하고, 저장된 상태를 불러올 수 있는 메서드를 제공합니다. 컴포넌트가 Persist 인터페이스를 구현하지 않았다면, SaveToStream 메서드를 호출하여도 컴포넌트의 상태가 저장되지 않을 것입니다.
Persist 인터페이스를 구현하는 컴포넌트의 예제는 다음과 같습니다.
#hostingforum.kr
cpp
class CMyComponent : public IPersist
{
public:
HRESULT SaveToStream(IStream* pStream)
{
// 컴포넌트의 상태를 저장하는 코드를 구현합니다.
// 예를 들어, 컴포넌트의 속성을 저장하는 코드를 구현할 수 있습니다.
// ...
return S_OK;
}
HRESULT Load(IStream* pStream)
{
// 저장된 컴포넌트의 상태를 불러오는 코드를 구현합니다.
// 예를 들어, 컴포넌트의 속성을 불러오는 코드를 구현할 수 있습니다.
// ...
return S_OK;
}
};
이 컴포넌트는 IPersist 인터페이스를 구현하여 SaveToStream 메서드를 구현했습니다. 이 메서드는 컴포넌트의 상태를 저장하는 코드를 구현해야 합니다.
SaveToStream 메서드를 호출하여 컴포넌트의 상태를 저장하려면, 컴포넌트의 인스턴스를 생성하고, SaveToStream 메서드를 호출하는 코드를 구현해야 합니다.
#hostingforum.kr
cpp
int main()
{
CMyComponent component;
IStream* pStream;
HRESULT hr = S_OK;
// 컴포넌트의 상태를 저장하는 코드를 구현합니다.
hr = component.SaveToStream(&pStream);
if (SUCCEEDED(hr))
{
// 저장된 컴포넌트의 상태를 불러오는 코드를 구현합니다.
hr = component.Load(pStream);
if (SUCCEEDED(hr))
{
// 컴포넌트의 상태가 저장되어 있습니다.
}
}
return 0;
}
이 코드는 컴포넌트의 상태를 저장하고, 저장된 상태를 불러오는 코드를 구현했습니다. 컴포넌트의 상태가 저장되어 있으면, 컴포넌트의 상태가 저장된 상태로 불러올 수 있습니다.
2025-04-13 14:19