|
//====================================================================
// Although great care has gone into developing this software,
// it is provided without any guarantee of reliability, accuracy
// of information, or correctness of operation. I am not responsible
// for any damages that may occur as a result of using this software.
// Use this software entirely at your own risk.
// Copyright 2003, Chris Richardson
//
// Description: Memory mapped file stream.
//
//====================================================================
#if !defined(AFX_MMFSTREAM_H__77D67255_57D3_455A_8DB1_BCA3A9B69ADE__INCLUDED_)
#define AFX_MMFSTREAM_H__77D67255_57D3_455A_8DB1_BCA3A9B69ADE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Status.h"
#include "Stream.h"
class CMMFStream : public CStream
{
public:
CMMFStream();
virtual ~CMMFStream();
ParseStatus Open( const TCHAR * p_pszPath );
ParseStatus Close();
virtual TCHAR * GetS( TCHAR * p_pszStr, int p_iLength );
virtual TCHAR GetC();
virtual TCHAR UngetC( TCHAR p_cC );
virtual unsigned long GetPos();
virtual void SetPos( unsigned long p_ulPos );
virtual const TCHAR * GetName() { return c_szFileName; }
protected:
HANDLE c_hFile;
HANDLE c_hMapping;
LPVOID c_pvBaseAddress;
unsigned long c_ulBytesLeft;
TCHAR * c_pcBuf;
TCHAR c_szFileName[MAX_PATH + 1];
};
#endif // !defined(AFX_MMFSTREAM_H__77D67255_57D3_455A_8DB1_BCA3A9B69ADE__INCLUDED_)
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.