Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

62 lines
2.5 KiB

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995.
//
// File: CSTORAGE.HXX
//
// Contents:
//
// Classes: Declaration for IStorage class
//
// Functions:
//
// History: 12-20-95 JoeS (Joe Souza) Created
//
//----------------------------------------------------------------------------
class FAR CStorage : public IStorage
{
public:
CStorage(IStorage *pStorage);
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
STDMETHOD_(ULONG,AddRef) (THIS);
STDMETHOD_(ULONG,Release) (THIS);
// *** IStorage methods ***
STDMETHOD(CreateStream) (THIS_ const OLECHAR *pwcsName, DWORD grfMode,
DWORD dwReserved1, DWORD dwReserved2, LPSTREAM FAR *ppStm);
STDMETHOD(OpenStream) (THIS_ const OLECHAR *pwcsName,
void FAR *pReserved1, DWORD grfMode, DWORD dwReserved2,
LPSTREAM FAR *ppStm);
STDMETHOD(CreateStorage) (THIS_ const OLECHAR *pwcsName, DWORD grfMode,
DWORD dwReserved1, DWORD dwReserved2, LPSTORAGE FAR *ppStg);
STDMETHOD(OpenStorage) (THIS_ const OLECHAR *pwcsName,
LPSTORAGE pstgPriority, DWORD grfMode, SNB snbExclude,
DWORD dwReserved, LPSTORAGE FAR *ppStg);
STDMETHOD(CopyTo) (THIS_ DWORD dwCiidExclude,
IID const FAR *rgiidExclude, SNB snbExclude, LPSTORAGE pStgDest);
STDMETHOD(MoveElementTo) (THIS_ const OLECHAR *lpszName,
LPSTORAGE pStgDest, const OLECHAR *lpszNewName, DWORD grfFlags);
STDMETHOD(Commit) (THIS_ DWORD grfCommitFlags);
STDMETHOD(Revert) (THIS);
STDMETHOD(EnumElements) (THIS_ DWORD dwReserved1, void FAR *pReserved2,
DWORD dwReserved3, LPENUMSTATSTG FAR *ppenumStatStg);
STDMETHOD(DestroyElement) (THIS_ const OLECHAR *pwcsName);
STDMETHOD(RenameElement) (THIS_ const OLECHAR *pwcsOldName,
const OLECHAR *pwcsNewName);
STDMETHOD(SetElementTimes) (THIS_ const OLECHAR *lpszName,
FILETIME const FAR *pctime, FILETIME const FAR *patime,
FILETIME const FAR *pmtime);
STDMETHOD(SetClass) (THIS_ REFCLSID rclsid);
STDMETHOD(SetStateBits) (THIS_ DWORD grfStateBits, DWORD grfMask);
STDMETHOD(Stat) (THIS_ STATSTG FAR *pStatStg, DWORD grfStatFlag);
private:
CRefCount _CRefs;
IStorage *_pStg;
};