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.
 
 
 
 
 
 

133 lines
4.1 KiB

//+--------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1992.
//
// File: pdocfile.hxx
//
// Contents: DocFile protocol header
//
// Classes: PDocFile
//
// History: 08-Jan-92 DrewB Created
//
//---------------------------------------------------------------
#ifndef __PDOCFILE_HXX__
#define __PDOCFILE_HXX__
#include <dfmsp.hxx>
#include <entry.hxx>
class CDocFile;
class PDocFileIterator;
class PSStream;
class CUpdate;
class CUpdateList;
class CWrappedDocFile;
// CopyDocFileToDocFile flags
#define CDF_NORMAL 0 // Normal copy
#define CDF_EXACT 1 // Exact dir entry match
#define CDF_REMAP 2 // Remap handles
#define CDF_ENTRIESONLY 4 // Don't copy contents
//+--------------------------------------------------------------
//
// Class: PDocFile (df)
//
// Purpose: DocFile protocol
//
// Interface: See below
//
// History: 08-Jan-92 DrewB Created
//
//---------------------------------------------------------------
class PDocFile : public PTimeEntry
{
public:
SCODE DestroyEntry(CDfName const *pdfnName,
BOOL fClean);
SCODE RenameEntry(CDfName const *pdfnName,
CDfName const *pdfnNewName);
SCODE GetClass(CLSID *pclsid);
SCODE SetClass(REFCLSID clsid);
SCODE GetStateBits(DWORD *pgrfStateBits);
SCODE SetStateBits(DWORD grfStateBits, DWORD grfMask);
SCODE CreateDocFile(CDfName const *pdfnName,
DFLAGS const df,
DFLUID luidSet,
PDocFile **ppdfDocFile);
inline SCODE CreateDocFile(CDfName const *pdfnName,
DFLAGS const df,
DFLUID luidSet,
DWORD const dwType,
PDocFile **ppdfDocFile)
{ return CreateDocFile(pdfnName, df, luidSet, ppdfDocFile); }
SCODE GetDocFile(CDfName const *pdfnName,
DFLAGS const df,
PDocFile **ppdfDocFile);
inline SCODE GetDocFile(CDfName const *pdfnName,
DFLAGS const df,
DWORD const dwType,
PDocFile **ppdfDocFile)
{ return GetDocFile(pdfnName, df, ppdfDocFile); }
SCODE CreateStream(CDfName const *pdfnName,
DFLAGS const df,
DFLUID luidSet,
PSStream **ppsstStream);
inline SCODE CreateStream(CDfName const *pdfnName,
DFLAGS const df,
DFLUID luidSet,
DWORD const dwType,
PSStream **ppsstStream)
{ return CreateStream(pdfnName, df, luidSet, ppsstStream); }
SCODE GetStream(CDfName const *pdfnName,
DFLAGS const df,
PSStream **ppsstStream);
inline SCODE GetStream(CDfName const *pdfnName,
DFLAGS const df,
DWORD const dwType,
PSStream **ppsstStream)
{ return GetStream(pdfnName, df, ppsstStream); }
SCODE FindGreaterEntry(CDfName const *pdfnKey,
SIterBuffer *pib,
STATSTGW *pstat);
SCODE StatEntry(CDfName const *pdfn,
SIterBuffer *pib,
STATSTGW *pstat);
SCODE BeginCommitFromChild(CUpdateList &ulChanged,
DWORD const dwFlags,
CWrappedDocFile *pdfChild);
void EndCommitFromChild(DFLAGS const df,
CWrappedDocFile *pdfChild);
SCODE IsEntry(CDfName const *pdfnName,
SEntryBuffer *peb);
SCODE DeleteContents(void);
static SCODE ExcludeEntries(PDocFile *pdf, SNBW snbExclude);
static SCODE CreateFromUpdate(CUpdate *pud,
PDocFile *pdf,
DFLAGS df);
protected:
inline PDocFile(DFLUID dl);
};
SAFE_DFBASED_PTR(CBasedDocFilePtr, PDocFile);
inline PDocFile::PDocFile(DFLUID dl)
: PTimeEntry(dl)
{
}
#endif // __PDOCFILE_HXX__