46 lines
875 B
C
46 lines
875 B
C
|
|
||
|
#ifndef __MFR_H_INCLUDED__
|
||
|
#define __MFR_H_INCLUDED__
|
||
|
#pragma once
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// CMappedFileRead class
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
class CMappedFileRead
|
||
|
{
|
||
|
public:
|
||
|
CMappedFileRead();
|
||
|
~CMappedFileRead();
|
||
|
|
||
|
// Operations
|
||
|
public:
|
||
|
BOOL Open( LPCWSTR cszPath );
|
||
|
void Close();
|
||
|
BOOL Read( LPVOID pBuf, DWORD cbBuf );
|
||
|
BOOL Read( DWORD *pdw );
|
||
|
LPCWSTR ReadStrAnsi( DWORD cbStr );
|
||
|
BOOL ReadDynStrW( LPWSTR szBuf, DWORD cchMax );
|
||
|
|
||
|
protected:
|
||
|
|
||
|
// Attributes
|
||
|
public:
|
||
|
DWORD GetAvail() { return( m_dwAvail ); }
|
||
|
|
||
|
protected:
|
||
|
WCHAR m_szPath[MAX_PATH];
|
||
|
DWORD m_dwSize;
|
||
|
HANDLE m_hFile;
|
||
|
HANDLE m_hMap;
|
||
|
LPBYTE m_pBuf;
|
||
|
LPBYTE m_pCur;
|
||
|
DWORD m_dwAvail;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif //ndef __MFR_H_INCLUDED__
|