59 lines
1.6 KiB
C++
59 lines
1.6 KiB
C++
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
CPrecompiledManifestWriterStream.h
|
|
|
|
Abstract:
|
|
Like a CFileStream (its base) but also implements Commit over
|
|
associated PCMWriter. This functionality was
|
|
moved out of CFileStream.
|
|
|
|
Author:
|
|
|
|
Xiaoyu Wu (xiaoyuw) June 2000
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#if !defined(_FUSION_SXS_PCMWriterStream_H_INCLUDED_)
|
|
#define _FUSION_SXS_PCMWriterStream_H_INCLUDED_
|
|
#pragma once
|
|
|
|
#include "stdinc.h"
|
|
#include "FileStream.h"
|
|
#include "SmartRef.h"
|
|
|
|
class CPrecompiledManifestWriterStream : public CReferenceCountedFileStream
|
|
//class CPrecompiledManifestWriterStream : public CFileStreamBase // not delete
|
|
{
|
|
private:
|
|
typedef CReferenceCountedFileStream Base;
|
|
//typedef CFileStreamBase Base;
|
|
|
|
public:
|
|
CPrecompiledManifestWriterStream() : Base(), m_fBuffer(TRUE) { }
|
|
~CPrecompiledManifestWriterStream() {}
|
|
|
|
HRESULT WriteWithDelay(void const *pv, ULONG cb, ULONG *pcbWritten);
|
|
|
|
// NTRAID#NTBUG9-164736-2000/8/17-a-JayK openOrCreate should probably default
|
|
// default to safer CREATE_NEW but I'm preserving existing behavior where
|
|
// it doesn't hurt me.
|
|
BOOL SetSink(const CBaseStringBuffer &rbuff, DWORD openOrCreate = CREATE_ALWAYS);
|
|
HRESULT Close(ULONG, DWORD); //besides close, rewrite MaxNodeCount, RecordCount into the header of the file
|
|
BOOL IsSinkedStream(void);
|
|
|
|
protected:
|
|
CByteBuffer m_buffer;
|
|
BOOL m_fBuffer;
|
|
|
|
private:
|
|
CPrecompiledManifestWriterStream(const CPrecompiledManifestWriterStream &);
|
|
void operator =(const CPrecompiledManifestWriterStream &);
|
|
};
|
|
|
|
#endif
|