//+---------------------------------------------------------------------------- // // File: cmfdi.h // // Module: CMDL32.EXE // // Synopsis: CFdi class declarations // // Copyright (c) 1996-1998 Microsoft Corporation // // Author: nickball Created 04/08/98 // //+---------------------------------------------------------------------------- #ifndef _CMDL_FDI_INC #define _CMDL_FDI_INC #include extern "C" { #include } // // CFDIFile declaration // class CFDIFile { public: virtual ~CFDIFile(); virtual DWORD Read(LPVOID pv, DWORD cb); virtual DWORD Write(LPVOID pv, DWORD cb); virtual long Seek(long dist, int seektype); virtual int Close(); virtual HANDLE GetHandle(); }; // // CFDIFileFile declaration // class CFDIFileFile : public CFDIFile { public: CFDIFileFile(); ~CFDIFileFile(); BOOL CreateFile(LPCTSTR pszFile, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, DWORD dwFileSize); BOOL CreateUniqueFile(LPTSTR pszFile, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwFlagsAndAttributes); virtual DWORD Read(LPVOID pv, DWORD cb); virtual DWORD Write(LPVOID pv, DWORD cb); virtual long Seek(long dist, int seektype); virtual int Close(); virtual HANDLE GetHandle(); private: HANDLE m_hFile; }; // // FDI wrapper routines // void HUGE * FAR DIAMONDAPI fdi_alloc(ULONG cb); void FAR DIAMONDAPI fdi_free(void HUGE *pv); INT_PTR FAR DIAMONDAPI fdi_open(char FAR *pszFile, int oflag, int pmode); UINT FAR DIAMONDAPI fdi_read(INT_PTR hf, void FAR *pv, UINT cb); UINT FAR DIAMONDAPI fdi_write(INT_PTR hf, void FAR *pv, UINT cb); long FAR DIAMONDAPI fdi_seek(INT_PTR hf, long dist, int seektype); int FAR DIAMONDAPI fdi_close(INT_PTR hf); INT_PTR FAR DIAMONDAPI fdi_notify(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pfdin); #endif // _CMDL_FDI_INC