FileStrm.cpp

From LSDevLinux
Jump to: navigation, search
FileStream

Interface:
IStream
Implementation:
FileStream

Src/Generic/FileStrm.cpp Contains the implementation of the FileStream class.

Description of FileStrm.cpp: This class provides an IStream wrapper around a standard FILE object.

Description of FileStream class: This class provides IStream I/O to "normal" files. IStream I/O to "structured files" (aka "compound documents") is already provided in the implementation which comes with VC++.

Members

Unimplemented

Requires additional testing

Completed


Static methods

  • static void Create(LPCOLESTR pszFile, int grfstgm, IStream ** ppstrm);
  • static void Create(LPCSTR pszFile, int grfstgm, IStream ** ppstrm);

IStream methods

  • STDMETHOD(Read)(void * pv, ULONG cb, ULONG * pcbRead);
  • STDMETHOD(Write)(const void * pv, ULONG cb, ULONG * pcbWritten);
  • STDMETHOD(Seek)(LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER * plibNewPosition);
  • STDMETHOD(SetSize)(ULARGE_INTEGER libNewSize); (Unused)
  • STDMETHOD(CopyTo)(IStream * pstm, ULARGE_INTEGER cb, ULARGE_INTEGER * pcbRead, ULARGE_INTEGER * pcbWritten);
  • STDMETHOD(Commit)(DWORD grfCommitFlags);
  • STDMETHOD(Revert)(void);
  • STDMETHOD(LockRegion)(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType);
  • STDMETHOD(UnlockRegion)(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType);
  • STDMETHOD(Stat)(STATSTG * pstatstg, DWORD grfStatFlag);
  • STDMETHOD(Clone)(IStream ** ppstm);