home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2005 June (DVD) / DPPRO0605DVD.iso / dotNETSDK / SETUP.EXE / netfxsd1.cab / FL_FileInfo_h________.3643236F_FC70_11D3_A536_0090278A1BB8 < prev    next >
Encoding:
Text File  |  2001-05-22  |  1.3 KB  |  53 lines

  1. // FileInfo.h : Declaration of the CFileInfo
  2.  
  3. #ifndef __FILEINFO_H_
  4. #define __FILEINFO_H_
  5.  
  6. #include "resource.h"       // main symbols
  7.  
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CFileInfo
  10. class ATL_NO_VTABLE CFileInfo : 
  11.     public CComObjectRootEx<CComSingleThreadModel>,
  12.     public CComCoClass<CFileInfo, &CLSID_FileInfo>,
  13.     public IDispatchImpl<IFileInfo, &IID_IFileInfo, &LIBID_COMPUTERINFOLib>
  14. {
  15. public:
  16.     CFileInfo()
  17.     {
  18.         m_sModifyTime[0] = '\0';
  19.         m_sCreationTime[0] = '\0';
  20.         m_sAccessTime[0] = '\0';
  21.         m_lFileSize = 0l;
  22.     }
  23.  
  24. DECLARE_REGISTRY_RESOURCEID(IDR_FILEINFO)
  25.  
  26. DECLARE_PROTECT_FINAL_CONSTRUCT()
  27.  
  28. BEGIN_COM_MAP(CFileInfo)
  29.     COM_INTERFACE_ENTRY(IFileInfo)
  30.     COM_INTERFACE_ENTRY(IDispatch)
  31. END_COM_MAP()
  32.  
  33. // IFileInfo
  34. public:
  35.     STDMETHOD(QueryFileInfo)(/*[in]*/BSTR sFileName, /*[out, retval]*/ VARIANT_BOOL * bSuccess);
  36.     STDMETHOD(get_ModifyTime)(/*[out, retval]*/ BSTR *pVal);
  37.     STDMETHOD(get_AccessTime)(/*[out, retval]*/ BSTR *pVal);
  38.     STDMETHOD(get_CreationTime)(/*[out, retval]*/ BSTR *pVal);
  39.     STDMETHOD(get_FileSize)(/*[out, retval]*/ long *pVal);
  40.  
  41. private:
  42.     char m_sModifyTime[100];
  43.     char m_sCreationTime[100];
  44.     char m_sAccessTime[100];
  45.  
  46.     long m_lFileSize;
  47.  
  48. private:
  49.     void ConvertTime(SYSTEMTIME & , TCHAR *);
  50. };
  51.  
  52. #endif //__FILEINFO_H_
  53.