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.
|
|
//----------------------------------------------------------------------------- // // File: clfile.inl // Copyright (C) 1994-1997 Microsoft Corporation // All rights reserved. // // // //----------------------------------------------------------------------------- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // Constructor for the CLFile object - we create the CFile // //----------------------------------------------------------------------------- inline CLFile::CLFile() { m_pFile = new CFile(); m_bDeleteFile = TRUE; }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // Constructor for the CLFile object - user provides a CFile. User is // responsible for the CFile object! // //-----------------------------------------------------------------------------
inline CLFile::CLFile( CFile *pFile) { LTASSERT(pFile != NULL); m_pFile = pFile; m_bDeleteFile = FALSE; }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // Destructor - also delete contained CFile if not user supplied. // //-----------------------------------------------------------------------------
inline CLFile::~CLFile() { DEBUGONLY(AssertValid()); if (m_bDeleteFile) { delete m_pFile; } }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // Read a byte at the current file position // //-----------------------------------------------------------------------------
inline UINT //Byte count read CLFile::ReadByte( BYTE & byte) //where to place the byte { if (Read(&byte, sizeof(BYTE)) != sizeof(BYTE)) { AfxThrowFileException(CFileException::endOfFile); } return sizeof(BYTE); }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // Write a byte at the current file position // //-----------------------------------------------------------------------------
inline UINT //Byte count written CLFile::WriteByte( const BYTE & byte) { Write(&byte, sizeof(BYTE)); return sizeof(BYTE); }
//----------------------------------------------------------------------------- // The following are the CFile methods that are reimplemented //----------------------------------------------------------------------------- inline DWORD CLFile::GetPosition() const { return m_pFile->GetPosition(); }
inline DWORD CLFile::SeekToEnd() { return m_pFile->SeekToEnd(); }
inline void CLFile::SeekToBegin() { m_pFile->SeekToBegin(); }
inline LONG CLFile::Seek( LONG lOff, UINT nFrom) { return m_pFile->Seek(lOff, nFrom); }
inline void CLFile::SetLength( DWORD dwNewLen) { m_pFile->SetLength(dwNewLen); }
inline DWORD CLFile::GetLength() const { return m_pFile->GetLength(); }
inline UINT CLFile::Read( void* lpBuf, UINT nCount) { return m_pFile->Read(lpBuf, nCount); }
inline void CLFile::Write( const void* lpBuf, UINT nCount) { m_pFile->Write(lpBuf, nCount); }
inline void CLFile::Flush() { m_pFile->Flush(); }
inline void CLFile::Close() { m_pFile->Close(); }
inline void CLFile::Abort() { m_pFile->Abort(); }
inline CLString CLFile::GetFileName(void) const { return m_pFile->GetFileName(); }
|