FILEVIEW.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
  2. //ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  3. //THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
  4. // PARTICULAR PURPOSE.
  5. //
  6. // Copyright  1994-1996  Microsoft Corporation.  All Rights Reserved.
  7. //
  8. // PROGRAM: FILEVIEW.H
  9. //
  10. // PURPOSE:   File Viewer Component Object to work with Windows 95 Explorer.
  11. //   Definitions, classes, and prototypes for a FileViewer DLL.
  12. //    Necessary modifications marked with MODIFY
  13. //
  14. // PLATFORMS: Windows 95
  15. //
  16. // SPECIAL INSTRUCTIONS: N/A
  17. //
  18. #ifndef _FILEVIEW_H_
  19. #define _FILEVIEW_H_
  20. //Prevent windows.h from pulling in OLE 1
  21. #define INC_OLE2
  22. #include <windows.h>
  23. #include <stdlib.h>
  24. #include <ole2.h>
  25. #include <commdlg.h>
  26. #include <shlobj.h>
  27. #include "dbgout.h"
  28. #include "cstrtabl.h"
  29. #include "cstathlp.h"
  30. //Types needed for other include files.
  31. #ifndef PPVOID
  32. typedef LPVOID * PPVOID;
  33. #endif
  34. /*
  35.  * Type and function for an object-destroyed callback.  An
  36.  * Object will call ObjectDestoyed in FILEVIEW.CPP when it
  37.  * deletes itself.  That way the server code, independent
  38.  * of the object, can implement DllCanUnloadNow properly.
  39.  */
  40. typedef void (WINAPI *PFNDESTROYED)(void);
  41. void WINAPI ObjectDestroyed(void);
  42. //MODIFY:  Other viewer-specific headers
  43. #include "fvtext.h"     //FileViewer specifics
  44. #include "resource.h"   //Resource definitions
  45. //FILEVIEW.CPP
  46. HRESULT PASCAL DllGetClassObject(REFCLSID, REFIID, PPVOID);
  47. STDAPI         DllCanUnloadNow(void);
  48. //A class factory that creates CFileViewer objects
  49. class CFVClassFactory : public IClassFactory
  50.     {
  51.     protected:
  52.         ULONG           m_cRef;
  53.     public:
  54.         CFVClassFactory(void);
  55.         ~CFVClassFactory(void);
  56.         //IUnknown members
  57.         STDMETHODIMP         QueryInterface(REFIID, PPVOID);
  58.         STDMETHODIMP_(ULONG) AddRef(void);
  59.         STDMETHODIMP_(ULONG) Release(void);
  60.         //IClassFactory members
  61.         STDMETHODIMP         CreateInstance(LPUNKNOWN, REFIID, PPVOID);
  62.         STDMETHODIMP         LockServer(BOOL);
  63.     };
  64. typedef CFVClassFactory *PCFVClassFactory;
  65. #endif //_FILEVIEW_H_