home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
msdn_vcb
/
samples
/
vc98
/
sdk
/
com
/
activedocument
/
doserver
/
perstor.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-05-28
|
2KB
|
72 lines
/**************************************************************************
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright 1997 Microsoft Corporation. All Rights Reserved.
**************************************************************************/
/******************************************************************************
File: PerStor.h
Description: CPersistStorage definitions.
******************************************************************************/
#ifndef PERSISTSTORAGE_H
#define PERSISTSTORAGE_H
/**************************************************************************
#include statements
**************************************************************************/
#include "DOServer.h"
/**************************************************************************
CPersistStorage class definition
**************************************************************************/
class COleDocument;
class CPersistStorage : public IPersistStorage
{
friend class CPersistFile;
private:
COleDocument *m_pOleDoc;
LPSTORAGE m_pStorage;
LPSTREAM m_pColorStream;
BOOL m_fSameAsLoad;
public:
CPersistStorage(COleDocument*);
~CPersistStorage();
//IUnknown methods
STDMETHODIMP QueryInterface(REFIID, LPVOID*);
STDMETHODIMP_(DWORD) AddRef();
STDMETHODIMP_(DWORD) Release();
//IPersistStorage methods
STDMETHODIMP InitNew(LPSTORAGE);
STDMETHODIMP GetClassID(LPCLSID);
STDMETHODIMP Save(LPSTORAGE, BOOL);
STDMETHODIMP SaveCompleted(LPSTORAGE);
STDMETHODIMP Load(LPSTORAGE);
STDMETHODIMP IsDirty();
STDMETHODIMP HandsOffStorage();
private:
void ReleaseStreamsAndStorage();
void OpenStreams(LPSTORAGE);
void CreateStreams(LPSTORAGE);
void CreateStreams(LPSTORAGE, LPSTREAM*);
};
#endif //PERSISTSTORAGE_H